| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Алгоритмы > структура данных |
| Автор: tab 21.11.2006, 00:34 |
| Требуется вот что: нужно придумать структуру хранения данных(данных ~ 2 Гб), к которой возможен максимально быстрый и простой доступ. |
| Автор: maxim1000 21.11.2006, 00:49 |
| нужно знать доступ какого вида должен быть быстрым а то для доступа по номеру хорошо массив для поиска деревья/хеш и т.д. |
| Автор: tab 21.11.2006, 01:10 |
| Поиск.. Проблема в том, что и хеш и стандартные деревья - способ достататочно медленный в данном случае. Да и неудобный - данные часто добавляться/удаляться будут. Есть идея - B деревья.. Но хочется чего-нить получше.. Все - таки такое требование к структуре как гибкость никто не отменял.. |
| Автор: RatHat 21.11.2006, 04:04 |
| tab, таблица, например - скорость доступа зависит от грамотности составления запроса ;) |
| Автор: SoWa 21.11.2006, 06:36 |
| Хеш-индексация - медленный способ? Да никогда не поверю. //сейчас все соберу Составляем таблицу с хеш-индексами, а по ней обращаемся уже в нужную область памяти, ну или как там в задаче? Можно еще и деревья приплести Удачи... |
| Автор: esperant0 21.11.2006, 08:44 |
| таблица или хеш время достпупа почти О(1) |
| Автор: SoWa 21.11.2006, 11:34 |
| разве это много? обычно ведь сложности линейны, квадратичны, логарифмические функции. А тут всего единица. |
| Автор: tab 22.11.2006, 01:46 |
| В принципе все что написано и правильно и логично... Хэш, деревья... - Вполне возможно, что так и поступлю, но, быть может, есть какая - нибудь интересная и(или) нестандартная идея? Что- нибудь красивое |
| Автор: esperant0 22.11.2006, 08:15 | ||
Красивое есть. Найдите мартингал на сл.вел. соответствующей полученным данным. Мартингал выбросьте и постройте хеш. Имхо красотаааааааааааааааа. |
| Автор: SoWa 22.11.2006, 17:13 |
| А можно понятным языком? ??? |
| Автор: slavikul 26.11.2006, 23:49 |
| Я использовал сбалансированные деревья по алгоритму, приведенному в Д.Кнут "Искусство программирования для ЭВМ" издательство "МИР" 1978 том 3 пункт 6.2.3 стр 536, но с модификацией для работы с дисковым накопителем. Скорость поиска очень высокая. При вводе новых данных с клавиатуры задержка практически отсутствует. Дело в том, что скорость ввода информации оператором на порядки медленнее работы программы. Комплекс программ для работы с такой базой данных написан на С (С++) и эксплуатируется уже около 10 лет. Вопросы отправлять на [email protected] |