![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| knut |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 7.2.2006 Репутация: нет Всего: нет |
добрый день.
у меня такой вопрос если мне надо было релизовать древовидное меню или же дерево я использовал всем известный рекурсивный метод т.е у я хронил + рекурсия id parent_id title вот Tree traversal алгорифм реализуется правдо без рекурции но со след. конструкцией и одним простым sql запросом id parent_id title left rigth так вот у меня вопрос когда нужно исользовать рекурсивный подход а когда traversal? --------------------
|
|||
|
||||
| knut |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 7.2.2006 Репутация: нет Всего: нет |
если вопрос остается без ответа сутки то он обречен.
--------------------
|
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
разве это не алгоритм обхода бинарного дерева? как ты в случае двух числовых значений - "идентификатор" и "идентификатор родителя" будешь строить дерево? да и непонятно - как это "обход дерева без рекурсии"? ты бы привел пример, что ли. а то кинул англоязычный термин - и понимай, как хочешь. на опережение замечу, что для работы с иерархическими структурами используются несколько структур: -списки смежности -nested sets("вложенные множества", или как?) -materialized path(когда для каждого узла в виде строки через разделитель(запятую) записываются все родители в процессе достижения) работу с каждой структурой можно свести к нерекурсивному запросу(к примеру, при использовании списков смежности можно выбрать клиенту все узлы и потом одной итерацией пройдясь по списку узлов, построить дерево). различия в реализации определеяют некоторые достоинства и недостатки. |
|||
|
||||
| knut |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 7.2.2006 Репутация: нет Всего: нет |
skyboy,
вот моя таблица tree
а вот и обход по дереву у ни какой рекурсии но у меня архитектура таблицы меняется если у меня ранше все было намного просто id + id предка а тут id,p_id и eще left + rigth каждого узла
нме принцып понятен а вот место где его надо и нужно использовать нет. вот собственно и в чем был мой вопрос --------------------
|
||||||
|
|||||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |