Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

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

 
Бумбурум   (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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.296 c
2-1328617065
AV
2012-02-07 16:17
2013.03.22
TClientDataSet (TDataset) проапдейтить поле


2-1337243492
TStas
2012-05-17 12:31
2013.03.22
Как установить отступ в ричэдите у всех абзацев?


15-1342187339
SeaData
2012-07-13 17:48
2013.03.22
[работа] Требуется старший программист (Delphi + MySQL)


15-1345798515
Beginer
2012-08-24 12:55
2013.03.22
Как отключить автовыравнивание значков на рабочем столе?


2-1331111757
Очень Злой
2012-03-07 13:15
2013.03.22
Вызов метода Owner-класса