Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2013, 20:45   #11
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Цитата:
Сообщение от flance Посмотреть сообщение
Привет коллегам.

Можете мне объяснить в чем суть префиксных деревьев?

Я понял про ключи.
Понял, что это ассоциативный массив, в котором ключи в дереве. И что каждый ключ добавляет символ. И при обращении к нему мы указываем всю строку до него и включая его.
Ну вот как здесь
http://upload.wikimedia.org/wikipedi...xample.svg.png

Только я не понимаю - какой в этом смысл?
Какие преимущества дает это. В сравнении с простым массивом.

Осознать не могу полезность)
А никакого смысла нет, равно как и в разных алгоритмах сортировки. Всё это для дураков, а реальные пацаны используют массив и сортировку пузырьком. Зачем нам списки, стеки, деревья,... когда есть массивы.
pu4koff вне форума Ответить с цитированием
Старый 20.04.2013, 23:14   #12
flance
Форумчанин
 
Регистрация: 31.05.2011
Сообщений: 184
По умолчанию

спасибо за книгу, почитаю

pu4koff
Ну почему. Я использую не только массивы, но и стеки, и очереди. У них есть очевидные преимущества в определенных случаях.


Вот в том-то и дело, что я не пойму преимуществ этого префиксного дерева.
Программист-фрилансер, готовый рассмотреть предложения на постоянную удаленную работу... Ответственный, трудолюбивый
telegram: flancejob
flance вне форума Ответить с цитированием
Старый 20.04.2013, 23:48   #13
flance
Форумчанин
 
Регистрация: 31.05.2011
Сообщений: 184
По умолчанию

Ну так-то я догадываюсь, что например это может быть для того, что в этом дереве есть три слова chance charge change
до тех пор пока вводишь каждую из первых трех букв он советует все три слова, если потом введешь n , то он уже советует chance и change.

Это по-моему полезно.
Типа подсказчика в поисковике.
Программист-фрилансер, готовый рассмотреть предложения на постоянную удаленную работу... Ответственный, трудолюбивый
telegram: flancejob
flance вне форума Ответить с цитированием
Старый 21.04.2013, 01:01   #14
flance
Форумчанин
 
Регистрация: 31.05.2011
Сообщений: 184
По умолчанию

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

http://www.programmersforum.ru/showt...47#post1216947
Программист-фрилансер, готовый рассмотреть предложения на постоянную удаленную работу... Ответственный, трудолюбивый
telegram: flancejob
flance вне форума Ответить с цитированием
Старый 21.04.2013, 09:30   #15
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Цитата:
Сообщение от flance Посмотреть сообщение
Вот в том-то и дело, что я не пойму преимуществ этого префиксного дерева.
Поиск нужного слова уже выглядит как несколько поисков по небольшим упорядоченным коллекциям, а не по одной огромной.
Поиск по мере ввода пользователем текста не приводит к новому поиску на каждый новый символ. Ввели первый символ - нашли нужную ветку в дереве. Ввели второй символ - пошли в соответствующее поддерево и т.д.
pu4koff вне форума Ответить с цитированием
Старый 21.04.2013, 19:12   #16
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

1) Экономия памяти (не нужно хранить повторяющиеся куски ключей по многу раз).
2) Скорость поиска зависит от длины ключа, а не только от высоты дерева. В некоторых ситуациях это будет эффективнее использования обычных деревьев поиска.
3) При добавлении/удалении элементов не нужно перебалансировать его, как в случае с красно-черными деревьями, например.
4) Можно просто и эффективно найти все элементы, начинающиеся с какого-то префикса (удобно в спелчекерах/автодополнялках, например).
Son Of Pain вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дерево ser70 Общие вопросы C/C++ 2 25.11.2012 16:22
2-3 дерево С++ dimentius Помощь студентам 0 08.06.2012 17:11
Префиксное увеличение строки(С++) nhr Помощь студентам 0 04.05.2011 20:46
Дерево в С# vedro-compota C# (си шарп) 5 07.11.2010 14:02
дерево С# Natok Помощь студентам 0 14.09.2009 23:42