powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Структуры данных
25 сообщений из 35, страница 1 из 2
Структуры данных
    #38069311
Шмяк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос больше из области теории.
Необходимо хранить структуру данных в виде некого набора пар число-число
причем число ключ должно быть уникальным и число значение тоже уникально.
Т.е.
1=5
2=4
3=3
4=2
5=1

Всякие там Map и List не предлагать.
Значений в массиве может быть достаточно много и необходимо минимизировать расход ресурсов на это дело.
Есть здравые предложения? :)
...
Рейтинг: 0 / 0
Структуры данных
    #38069332
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ШмякВопрос больше из области теории.
Необходимо хранить структуру данных в виде некого набора пар число-число
причем число ключ должно быть уникальным и число значение тоже уникально.

Какой диапазон чисел? byte/int/long/BigDecimal?
Какие основные операции? Какие наиболее частые?

ШмякВсякие там Map и List не предлагать.
Значений в массиве может быть достаточно много и необходимо минимизировать расход ресурсов на это дело.

Ой, да ладно. Экономия на спичках? Сколько "достаточно много"?


ШмякЕсть здравые предложения? :)
Есть opensource реализации коллекций для примитивов.
Сама структура особого смысла не имеет, если не знать какие операции нужны.
Пока только поняли что нужна проверка или замещение при вставке. Так как кажое должно быть уникальным, то, наверное, проверка, а не замещение?
...
Рейтинг: 0 / 0
Структуры данных
    #38069361
Шмяк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Операций никаких нет, последовательное чтение элементов.
ключ должен быть всегда последовательный от 1 до Integer.MAX_VALUE, а значение должно быть в том же диапазоне, но перемешено случайным образом.
Ну и специально для BlazkowiczОй, да ладно. Экономия на спичках? Сколько "достаточно много"?
Запишите в Map подобную структуру хотя бы до Integer.MAX_VALUE/2 и посмотрите сколько оно отожрет?
А теперь подобную операцию проделайте на Андроиде, где ресурсы счет любят.
...
Рейтинг: 0 / 0
Структуры данных
    #38069388
Adva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Шмяк,

простой массив?
...
Рейтинг: 0 / 0
Структуры данных
    #38069391
alexanderer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если ключ полседовательный от 1 до Integer.MAX_VALUE, то нужно что-то типа Set с возможностью получения индекса в качестве ключа.
...
Рейтинг: 0 / 0
Структуры данных
    #38069397
Шмяк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
:) ну, кнечно больше из области теории.
Да, таки массив. Но хранить в массиве Integer.MAX_VALUE*32bit , кажется не совсем правильным.
...
Рейтинг: 0 / 0
Структуры данных
    #38069401
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ШмякЗапишите в Map подобную структуру хотя бы до Integer.MAX_VALUE/2 и посмотрите сколько оно отожрет?

Ты прикалываешься?
Integer.MAX_VALUE = 2,147,483,647
Integer.MAX_VALUE / 2 ~ 1G, 4 байта на int - 4Gb.
Тут даже без HashMap обосрешься массив на андроиде создавать.
...
Рейтинг: 0 / 0
Структуры данных
    #38069405
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ШмякА теперь подобную операцию проделайте на Андроиде, где ресурсы счет любят.
С этого стоило бы начать вопрос. А то любят тут спрашивать-спрашивать, а в конце темы написать, мол J2ME.
...
Рейтинг: 0 / 0
Структуры данных
    #38069406
Шмяк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz
Вот если бы все было так просто, я бы и не спрашивала.
...
Рейтинг: 0 / 0
Структуры данных
    #38069417
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ШмякВот если бы все было так просто, я бы и не спрашивала.
Я спросил сколько ожидается пар. Получил ответ померять Integer.MAX_VALUE/2. Это не похоже на реалистичное значение, потому что даже простой массив такого размера придется размещать на долговременном хранилище, а не памяти.
Поэтому может обсудим реалистичную постановку задачи?
...
Рейтинг: 0 / 0
Структуры данных
    #38069428
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так обязательно в памяти размещать? Или можно в файле? Тогда проще, так как ключи упорядочены, можно весь диапазон разбить по сегментам и быстро вычислять сегмент из значения, как в HashMap.
...
Рейтинг: 0 / 0
Структуры данных
    #38069463
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ШмякОпераций никаких нет, последовательное чтение элементов.
Т.е. это постоянный массив, который в процессе не модифицируется?
...
Рейтинг: 0 / 0
Структуры данных
    #38069464
Шмяк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оки.
Вы вот все хотите подогнать под существующие структуры, желание ясно.
Тогда такая вам институтская задача. :)

Допустим необходимо случайным образом выбирать числа от 1 до Integer.MAX_VALUE.
При этом если генератор случайных чисел выдаст число(масло масляное), которое уже было необходимо остановить обработку.
Как бы вы эту задачу реализовали?
...
Рейтинг: 0 / 0
Структуры данных
    #38069466
Максим Н
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шмяк,

Redis, etc
...
Рейтинг: 0 / 0
Структуры данных
    #38069474
Шмяк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Массив определяется в начале работы и в процессе уже не меняется.
Т.е. определяется его размер и заполняется данными. И в процессе работы бегаем по нему вперед и назад.
Размер может быть маленьким а может быть максимальным. Закладываемся на критическое значение.
...
Рейтинг: 0 / 0
Структуры данных
    #38069475
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ШмякОки.
Вы вот все хотите подогнать под существующие структуры, желание ясно.
Тогда такая вам институтская задача. :)

Допустим необходимо случайным образом выбирать числа от 1 до Integer.MAX_VALUE.
При этом если генератор случайных чисел выдаст число(масло масляное), которое уже было необходимо остановить обработку.
Как бы вы эту задачу реализовали?

тебе ж говорят - если данные не убираются в память то надо использовать базу данных. Если убираются то большой разницы между массивом и мапом или листом нет.
...
Рейтинг: 0 / 0
Структуры данных
    #38069493
Шмяк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1024 большой разницы между массивом и мапом или листом нет
Учите мат часть, разница есть и большая.
...
Рейтинг: 0 / 0
Структуры данных
    #38069495
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ШмякВы вот все хотите подогнать под существующие структуры, желание ясно.

А они достаточно оптимизированы. И все мои вопросы снова игнорируются. :(


ШмякДопустим необходимо случайным образом выбирать числа от 1 до Integer.MAX_VALUE.
При этом если генератор случайных чисел выдаст число(масло масляное), которое уже было необходимо остановить обработку.
Как бы вы эту задачу реализовали?
Шафл бы сделал вместо генератора. Опять задача выдрана из конктекста. Я могу кучу вариантов привести, но вы их отметёте, потому что у вас свой контекст и вы его знаете.
На сколько генератор нормально распределен? Можно пробовать выделять диапазоны и вводить для них уровень использованности.
Как долго длиться обработка? Если долго, то массив можно и в файловой системе разместить.
У меня тут куча вопросов, которые влияют на оптимальность решения. А на них нет ни одного ответа.
...
Рейтинг: 0 / 0
Структуры данных
    #38069497
Шмяк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1024, студенческая задачка про случайные числа решается без использования файлов и баз данных.
...
Рейтинг: 0 / 0
Структуры данных
    #38069508
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ШмякУчите мат часть, разница есть и большая.
Нет особой разницы
http://habrahabr.ru/post/159557/
Либо данные можно в памяти разместить, тогда 4-10-20 байт на элемент роли не сыграют.
Либо нельзя тогда размещаем в файловой системе или базе.
...
Рейтинг: 0 / 0
Структуры данных
    #38069518
Шмяк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обработка длится долго.
И если уж конкретней, то в массиве хранятся не сами данные а индексы элементов другого массива, в котором эти данные и есть, он вот и хранится в файле. Типа, индекс :)
Грубо говоря, в файле хранится много-много строк и необходимо эти строки случайным образом перемешать и последовательно обрабатывать вперед, назад... по желанию пользователя. Но в исходном файле данные перемешивать нельзя.
...
Рейтинг: 0 / 0
Структуры данных
    #38069520
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ШмякМассив определяется в начале работы и в процессе уже не меняется.
Наконце-то детали начали поступать.

ШмякТ.е. определяется его размер и заполняется данными. И в процессе работы бегаем по нему вперед и назад.
Размер может быть маленьким а может быть максимальным. Закладываемся на критическое значение.
Т.е. задача вообще не в том чтобы провалидировать, или наполнить. А исключительно оптимизировать хранение и перебор? Можно же было сразу объяснить?
...
Рейтинг: 0 / 0
Структуры данных
    #38069526
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ШмякДопустим необходимо случайным образом выбирать числа от 1 до Integer.MAX_VALUE.
При этом если генератор случайных чисел выдаст число(масло масляное), которое уже было необходимо остановить обработку.
Как бы вы эту задачу реализовали?
Как обычно никто не может нормально объяснить что нужно. Вот ещё раз перечитал.
"необходимо остановить обработку" - обработку чего? Где мы её в задаче начали? Вообще весь процесс остановить?
...
Рейтинг: 0 / 0
Структуры данных
    #38069538
Йуный джавистЪ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При этом если генератор случайных чисел выдаст число(масло масляное), которое уже было необходимо остановить обработку.
Как бы вы эту задачу реализовали?

Используйте фильтр блума.
...
Рейтинг: 0 / 0
Структуры данных
    #38069543
Шмяк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ребята, вы откуда взялись? Вы решаете задачу тупо в лоб!
Т.е. не решаете а просто подгоняете.
...
Рейтинг: 0 / 0
25 сообщений из 35, страница 1 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Структуры данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]