Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Вниз

нужен список ключ-значение.   Найти похожие ветки 

 
Бумбурум   (2012-02-12 19:41) [0]

нужен быстрый список типа ключ-значение. (Стринг-Поинтер)
где такой можно взять? скорость очень важна.

делал TList с элементами такого типа:

type
 TItem = packed record
    Key: string;
    Data: Pointer;
 end;


поиск тупой в лоб, через фор.
но не думаю, что это так быстро как нужно.


 
Сергей М. ©   (2012-02-12 19:43) [1]


> где такой можно взять?


Ты не поверишь - он прямо перед носом: TStringList


 
DVM ©   (2012-02-12 19:56) [2]


> Бумбурум   (12.02.12 19:41) 


> поиск тупой в лоб, через фор.

отсортируй значения и поддерживай список отсортированным и вот уже поиск не тупой можно применить а бинарный, быстрее будет только хэш таблица.


 
TUser ©   (2012-02-12 20:22) [3]


> скорость очень важна

писать свое, возможно, хэш-таблица, суффиксное дерево, массив+бинарный поиск, ...

> но не думаю, что это так быстро как нужно.

ты думаешь или проверял?


 
Dimka Maslov ©   (2012-02-12 20:25) [4]


> отсортируй значения и поддерживай список отсортированным
> и вот уже поиск не тупой можно применить а бинарный


В отсортированном стринглисте поиск сам по себе уже бинарный применяется.


 
Бумбурум   (2012-02-12 20:25) [5]


>
> TUser ©   (12.02.12 20:22) [3]
>
> ты думаешь или проверял?


мне сказали про некие черно-красные деревья.


 
MBo ©   (2012-02-12 20:33) [6]

http://www.torry.net/pages.php?id=279
Известные названия оттуда:
ACED
AntiDOT
Collections
DIContainers
DeHL
GPLists
SDL


 
DVM ©   (2012-02-12 20:43) [7]


> скорость очень важна.

если количество элементов не запредельно, то бинарный поиск может даже превосходить по скорости хэш таблицы, если последние заполнены существенно и создается масса коллизий в них. При интенсивном удалении хэш таблица тоже деградирует в плане скорости. Короче в 99% задач отсортированного списка за глаза, а в 80% и не отсортированного с тупым for



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.066 c
15-1345632073
Rouse_
2012-08-22 14:41
2013.03.22
Семинар "RAD Studio XE3"


15-1353245447
Artem
2012-11-18 17:30
2013.03.22
Простой парсинг


2-1329811084
leklerk
2012-02-21 11:58
2013.03.22
Изменение данных в БД через DBGrid


2-1339410261
Вася
2012-06-11 14:24
2013.03.22
id последней добавленной записи ???


15-1345750821
Прогер
2012-08-23 23:40
2013.03.22
TDWordRec откуда такое окончание?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский