Re[6]: поиск числа в интервале отсортированных чисел
От: dilmah США  
Дата: 24.06.10 16:53
Оценка:
_DA>Я чего-то не понимаю. Если нужно выдать все числа в интервале
Автор: ExtraLamer
Дата: 24.06.10
, чем обычный двоичный поиск не устраивает?


видишь, что он писал:

EL>>* Любое число может быть удалено или добавлено. Т.е. каждый раз нужно находить за нового все числа.


ему нужно за ногу находить все числа
Бинарный поиск работает в массиве с random access, но в такой массив тяжело что-то добавлять/удалять.
Re[5]: поиск числа в интервале отсортированных чисел
От: alsemm Россия  
Дата: 24.06.10 20:37
Оценка:
Здравствуйте, ExtraLamer, Вы писали:

EL>Здравствуйте, Acteon, Вы писали:


A>>А можно узнать про параметры массивов данных и параметры работы с ними? Т.е. размер(очень большой), тип(только целочисленный), количество операций поиска интервала в соотношении с размером(приблизительно равны), может ли изменяться массив(нет) и др. Т.к. вы хотите что-то между константным временем и логарифмом, то нужно выполнить оптимизации исходя из природы данных. Сложно что-то подсказать, не зная этой природы.


EL>Вроде как все написал, суммирую:

EL>* большое количество чисел (например 10 000 000)
EL>* целочисленные
EL>* уже отсортированные
EL>* форма представления данных — любая, например массив или дерево. Лишь бы быстро находился интервал в этой любой форме.
EL>* ограничение на память. думаю не более в 1.5 раза от номинального значения, занимаемое числами.
EL>* Любое число может быть удалено или добавлено. Т.е. каждый раз нужно находить за нового все числа.
Я для похожей задачки спец. структуру данных лепил. Вот тут статья про мои изыскания — http://rsdn.ru/article/cpp/segmented_list.xml
Автор(ы): Алексей Семенюк
Дата: 31.10.2004
В статье приводится пример реализации нестандартного контейнера, позволяющего обеспечить приемлемую скорость доступа к произвольному элементу и вставки/удаления в произвольную позицию.

Re[7]: поиск числа в интервале отсортированных чисел
От: _DAle_ Беларусь  
Дата: 24.06.10 23:09
Оценка: +1
Здравствуйте, dilmah, Вы писали:

_DA>>Я чего-то не понимаю. Если нужно выдать все числа в интервале
Автор: ExtraLamer
Дата: 24.06.10
, чем обычный двоичный поиск не устраивает?


D>видишь, что он писал:


D>

EL>>>* Любое число может быть удалено или добавлено. Т.е. каждый раз нужно находить за нового все числа.


D>ему нужно за ногу находить все числа

D>Бинарный поиск работает в массиве с random access, но в такой массив тяжело что-то добавлять/удалять.

А, ну если еще и динамическая структура данных нужна, то ничего особо лучше сбаллансированного поискового дерева не придумаешь.
Re[6]: поиск числа в интервале отсортированных чисел
От: Аноним  
Дата: 25.06.10 05:28
Оценка:
Логарифм медленный для 10кк чисел ?
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.