Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Алгоритмы > восстановление структуры дерева


Автор: GWTMain 23.4.2010, 07:25
Дерево строится по неким данным из БД. Допустим расскрыли несколько узлов, затем при следующим обращении нужно восстановить эу струкуру(Имя узла и id узла в БД) я знаю. Как тут можно выкрутиться?

Автор: Earnest 23.4.2010, 08:48
Какую "'эту структуру"? Какие узлы раскрыты? Ну и запомните где-нибудь список открытых узлов (id).

Автор: esperanto 23.4.2010, 08:58
Метрика является древесной, тогда и только тогда, когда любые 4 вершины являются деревом. Это однозначно задает место вставления в дерево

Автор: GWTMain 23.4.2010, 08:59
Цитата

Какую "'эту структуру"?

Да структуру дерева, все раскрытые узлы
Цитата

Ну и запомните где-нибудь список открытых узлов (id).

Ага у меня web приложение, допустим захоже по адресу
http://localhost:/project/tree=?bla-bla
вот должно открыться все узлы до bla-bla.
Я думаю как:  зная id узла, получаем id узла к которому он относится и т.д. рекурсивно до верхнего узла!

Автор: skyboy 23.4.2010, 09:10
ребят, он про элемент интерфейса "дерево" говорит!
скорее всего, какая-то библиотека на javascript, типа http://habrahabr.ru/blogs/webdev/30302/.

Добавлено через 6 минут и 19 секунд
Цитата(GWTMain @  23.4.2010,  07:59 Найти цитируемый пост)
Я думаю как:  зная id узла, получаем id узла к которому он относится и т.д. рекурсивно до верхнего узла! 

ну, у тебя дерево формируется какой-то js библиотекой, верно? все правильно: на стороне сервера(РНР?) выбираешь id узлов будущего дерева всех родителей и формируешь javascript код, который после загрузки страницы развернет все эти узлы:
Код

jQuery(document).ready(function() {
 var idsToExpand = [17,14,25,87,187]; // вот этот массив формируется средствами РНР/другого серверного языка
 for(var i= 0; i< idsToExpand.length; i++) {
   treeObject.expandNode(idsToExpand[i]);
 }
});

на будущее: размещай подобные вопросы в профильных разделах(РНР, Javascript), либо же давай полную информацию, с кодом и скриншотом.

Автор: GWTMain 23.4.2010, 12:41
skyboy, 
Пасибо, да тут дело не в языке, а в самой сути!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)