За последние 24 часа нас посетили 17454 программиста и 1601 робот. Сейчас ищут 947 программистов ...

Древовидная структура, материализованный путь

Тема в разделе "Решения, алгоритмы", создана пользователем Yadfewm, 26 янв 2014.

  1. Yadfewm

    Yadfewm Активный пользователь

    С нами с:
    20 июл 2009
    Сообщения:
    223
    Симпатии:
    0
    Добрый день!

    Напоминалка:
    AL - хранение непосредственного parent id
    MP - хранение всех parent id через разделитель
    NS - хранение последовательности обходящей всё дерево (левую и правую границу для каждого элемента)

    Поиск по форуму ничего не дал. Алгоритмов в сети куча, но меня интересуют не теоретические статьи, а ваши практические). Кто-то из вечноживущих на этом форуме выкладывал свой метод хранения древовидных структур, он был немного видоизмененный (дополненный) материализованный путь, к сожалению я его не нашел.

    Я всё время пользовался Adjacency List и не заморачивался - деревья маленькие были. Мне понравилась идея совмещения AL + MP.

    На хабре есть пользователь который высказал следущее:
    http://habrahabr.ru/post/46659/#comment_1190423

    1) Вот мне очень интересно возможно ли действительно создать такой материализованный путь чтобы без liкe%?
    2) Пользуется ли кто-то реально NS))))?
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    боюсь деревьев как огня
     
  3. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    MP ограничен в глубину длинной поля в котором он хранится. для большинства задач глубины вполне хватает, но все же. ограничение есть и стоит о нем помнить.

    1) неслышал о таком варианте
    2) я пользуюсь. очень шустро работает на селектах. а модификации происходят намного реже чем выборки. как раз то что надо