Форум: "Начинающим";
Текущий архив: 2007.09.09;
Скачать: [xml.tar.bz2];
Внизcase +string Найти похожие ветки
← →
tesseract © (2007-08-17 15:59) [40]
> приведи простенький алгоритм хеширования строк, я постараюсь
> найти две неравные строки... Контрольная сумма, например
См пост DrPass. Контрольная сумма она для такого хэширования не предназначена.
← →
palva © (2007-08-17 16:04) [41]> реплики типа "пограммистский маразм" я бы посоветовал оставлять при себе
Это не моя реплика, тем более что я с ней не согласен.
← →
DevilDevil © (2007-08-17 16:19) [42]> palva © (17.08.07 16:04) [41]
у тебя ненамного лучше
> tesseract © (17.08.07 15:59) [40]
а как тогда? только посимвольно?
← →
Jeer © (2007-08-17 16:39) [43]// Case-string:
case CaseStr(s, ["Первый", "Второй", "Третий"]) of
0: ShowMessage("1: " + s);
1: ShowMessage("2: " + s);
2: ShowMessage("3: " + s);
else
ShowMessage("else: " + s);
end;
function CaseStr(const s: string; lstStr: array of string): integer;
var
i: integer;
begin
result := -1;
for i := 0 to High(s) do
if s = lstStr[i] then begin
result := i; break;
end;
end;
← →
DevilDevil © (2007-08-17 16:48) [44]> Jeer © (17.08.07 16:39) [43]
да, прикольно
← →
palva © (2007-08-17 16:48) [45]
> DevilDevil © (17.08.07 16:19) [42]
> у тебя ненамного лучше
А чем вам не понравилась моя реплика?
← →
Leonid Troyanovsky © (2007-08-17 17:23) [46]
> DevilDevil © (17.08.07 15:23) [37]
> следовательно, существует вероятность (и немаленькая), что
> сравнение может произойти некорректно. Т.е. если 2 строки
> не эквивалентны, а хеш-коды совпадают
Это называется коллизией. Ничего страшного.
Обычно ключи сортируют по хешу, а окончательное решение
принимают после полного сравнения ключей.
Выигрыш достигается, если поиск по хешу + перебор ключей
с одинаковым хешем, дешевле, чем полный перебор.
--
Regards, LVT.
← →
Leonid Troyanovsky © (2007-08-18 10:28) [47]
> DevilDevil © (17.08.07 15:56) [39]
> приведи простенький алгоритм хеширования строк
THashedStringList Class (RTFM: Delphi Help)
See also: IniFiles.pas
--
Regards, LVT.
Страницы: 1 2 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.09.09;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.045 c