![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
t77 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 459 Регистрация: 27.7.2008 Репутация: нет Всего: нет |
Доброе время суток!
Вопрос собственно в том, как на javascript реализовать обход бинарного дерева ? Проходим по нодам дерева и печатаем текст каждого нода... Какие варианты имеются (рекурсия, ООП и т. д.) ? Возможные решения? Спасибо. |
|||
|
||||
Stolzen |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1041 Регистрация: 17.10.2005 Репутация: 4 Всего: 48 |
Рекурсия - самый простой способ. Сколько элементов в дереве? Как граф представлен?
Если элементов много, то лучше самому реализовать стек (про размер стека в разных браузерах можно почитать тут). |
|||
|
||||
t77 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 459 Регистрация: 27.7.2008 Репутация: нет Всего: нет |
Элементов в дереве может быть много, заранее не известно!
Граф представлен следующим образом: Рут(корневой элемент) дерева "А" Его дети: "B", "С", "D Дети элемента "B": "Е", "F", "G" Дети элемента "C": "H", "I", "K" Дети элемента "D": "L", "M", "N" У каждого из детей тоже имеются дети! Ну и так далее... В принципе не важно сколько детей будет у каждого элемента и какого размера будет дерево. Важно пройтись по каждому элементу дерева и распечатать текст(название). |
|||
|
||||
Stolzen |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1041 Регистрация: 17.10.2005 Репутация: 4 Всего: 48 |
Примерно алгоритм должен быть такой (псевдокод):
П.С. Вы не ответили на вопрос про представление дерева, вы только показали, что, какие данные в нем. Какая структура данных используется для хранения графа? И это не бинарное дерево Это сообщение отредактировал(а) Stolzen - 22.3.2012, 08:50 |
|||
|
||||
t77 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 459 Регистрация: 27.7.2008 Репутация: нет Всего: нет |
Stolzen , это один из вопросов, которые недавно слышал на собеседовании...
Поэтому не представлена структура для хранения графа. А представление дерева было просто нарисовано на листке бумаги, в виде кружочков, соединенными между собой. |
|||
|
||||
![]() ![]() ![]() |
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |