Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - Andrey Utkin

Страницы: [1]
1
Содержание статьи соответствует названию, так же как и приведённые в ней схемы, т.к. они объясняют не то ЧТО ТАКОЕ деревья, представленные в виде вложеных множеств, а КАК ОНИ ИЗМЕНЯЮТСЯ при манипулировании.

Преимущества использования модели вложенных множеств в приложениях для веб очевидны. Разгружаются ресрурсы при выводе информации, т.е. там где и нужно. Упрощаются алгоритмы вывода, а соответственно сокращается время на разработку. Публиковать веб-сервисы одно удовольствие, просто бери и оборачивай в XML, причём из любого узла дерева.

По крайней мере мы в текущих проектах http://www.vhosting.ee/rus/contractors_active_competitions.cfm  планируем их в той или иной мере использовать. А вот в какой, зависит от того, насколько нам удастся решить некоторые проблемы.

Проблема 1. Сортировка.
Пример.
Названия узлов на трёх языках. Требуется упорядочить вывод в алфавитном порядке.

Насколько я понимаю, порядок формируется на стадии создания дерева. Изменять его «на лету», это всё равно, что строить новое дерево для каждого запроса.

Пока остановились на таком решении.
Для каждого языка строится своё дерево и оно используется для вывода. Одно из них является основным, с ним проводятся все манипуляции при изменениях. Другие подчинённые и просто перестраиваются после внесение изменений в первое.

Вопрос.
Кто какие решения может предложить в плане Сортировки.


Кстати,  можно использовать одновременно представления дерева как списка смежных вершин и как вложенных множеств, например новые разделы приложения создаются с использованием алгоритмов вложенных множеств, без изменения старых разделов, использующих модель списка смежных вершин. Для этого в таблице оставляется поле parent_id и его значение после изменений переопределяется на основании значений lft_key, rgt_key.

Страницы: [1]