Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.15.240.208] |
|
Страницы: (4) [1] 2 3 ... Последняя » все ( Перейти к последнему сообщению ) |
Сообщ.
#1
,
|
|
|
Имеется очень большой массив слов.
Необходимо определить - есть ли в нём повторяющиеся слова (эти слова могут находиться в любом месте, даже в противоположных концах массива). |
Сообщ.
#2
,
|
|
|
сортируй! я думаю за линейное время всё равно не получится
|
Сообщ.
#3
,
|
|
|
Если порядок данных в массиве не имеет значения, построй такое дерево:
Узел содержит два указателя (и все) Глубина --- шестнадцать уровней (от 0 до 15) Нижний, пятнадцатый, уровень может указывать на терминатор (такой же узел, но указатели в нем всегда NULL, NULL) Каждое число --- это цепочка указателей от вершины дерева до терминатора. Количество узлов в полном (все 65536 вариантов) дереве 216, объем занимаемой памяти 2 * 216 указателей. Когда заносишь код который уже существует в дереве, обнаружишь что есть все указатели вплоть до терминатора. Время определения фиксированно, зависит от глубины дерева и не зависит от количества данных в дереве. |
Сообщ.
#4
,
|
|
|
непонял какое отношение сие дерево имеет к задаче
|
Сообщ.
#5
,
|
|||
|
Быстрый поиск |
Сообщ.
#6
,
|
|
|
ну ты умный! заголовок прочитал, а пост нет. задача то в том, чтобы определить, есть ли в массиве одинаковые слова. к тому же твоё древо будет искать не быстрее, чем двоичный поиск
|
Сообщ.
#7
,
|
|
|
В задаче не указано откуда беруться данные в массиве и как используется массив кроме поиска.
Время поиска по 'моему' дереву фиксированное и не зависит от количества элементов в нем. |
Сообщ.
#8
,
|
|
|
зато максимальное количество елементов в нём зависит от его глубины ;D
так что как ни крути, qsort+двоичный поиск быстрее |
Сообщ.
#9
,
|
|||
|
(хрум) ;D от глубины зависит разрядность хранимых данных |
Сообщ.
#10
,
|
|
|
темболее!! строки-то большие!!какправило ;D
|
Сообщ.
#11
,
|
|
|
смотря что Jin X назвал словом. 'мое дерево' хранит WORD |
Сообщ.
#12
,
|
|
|
ну в таком случае если в массиве больше чем 65536 слов, тогда и думать нечего - как пить дать одинаковые будут ;D
|
Сообщ.
#13
,
|
|
|
обычные словари русского языка содержат еще меньше слов
|
Сообщ.
#14
,
|
|
|
зато большой разрядности ;D
|
Сообщ.
#15
,
|
|
|
можно построить 'мое дерево' и для русских слов (или не русских ) и глубину не фиксировать, но игра стоит свеч только если "скорость превыше всего" |