Форум: "Начинающим";
Текущий архив: 2013.09.08;
Скачать: [xml.tar.bz2];
ВнизБыстрый алгоритм поиска Найти похожие ветки
← →
Vlad (2012-12-26 18:55) [0]
MyRecord = record;
StrID: String[256];
Field_1: Integer;
.....................
Field_n: Integer;
end;
A: array[0..10000000] of MyRecord;
Подскажите пожалуйста, каким алгоритмом поиска воспользоваться для такого большого списка, поиск должен быть осуществлен только по одному строковому полю StrID. Нужно вернуть номер в массиве, где находится искомая строка в записи.
Список НЕ отсортирован.
Не поймите не правильно - я не решения прошу, а направления.
← →
Inovet © (2012-12-26 18:59) [1]Сортировать принципиально нельзя и хранить принципиально только в массиве? Тогда индекс приделать к нему.
← →
Inovet © (2012-12-26 19:00) [2]> [1] Inovet © (26.12.12 18:59)
Ну и хэш заодно.
← →
Vlad (2012-12-26 19:06) [3]
> Inovet © (26.12.12 19:00) [2]
Да вот читаю про это сейчас и думаю - а не проще ли жахнуть перебором.
← →
Vlad (2012-12-26 19:08) [4]
> ) [1]
>
> Сортировать принципиально нельзя и хранить принципиально
> только в массиве? Тогда индекс приделать к нему.
да сортировать нельзя - список "не мой", ну разве что перед каждым новым актом поиска.
← →
Inovet © (2012-12-26 19:13) [5]> [4] Vlad (26.12.12 19:08)
> ну разве что перед каждым новым актом поиска.
Так перед каждым поиском массив новый? Во время загрузки и искать.
← →
Anatoly Podgoretsky © (2012-12-26 20:16) [6]> Vlad (26.12.2012 18:55:00) [0]
По несортированному только последовательно, или любой разновидностью, пока
все не кончатся или не будет найден элемент. Берем худший случай когда нет,
тогда N, или статистический тогда N/2
← →
MBo © (2012-12-26 20:18) [7]Такого массива быть не может в d7 и вообще в Win32
← →
Anatoly Podgoretsky © (2012-12-26 20:19) [8]> Vlad (26.12.2012 19:08:04) [4]
Ну тогда время сортировки + время поиска N+N/2
← →
QAZ9 (2012-12-26 21:57) [9]Удалено модератором
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2013.09.08;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.078 c