Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Grandalf Gray                        2:5020/400     23 Feb 2002  18:11:54
 To : ‘ҐаЈҐ© „ў®ап­жҐў
 Subject : Re: Построение дерева
 -------------------------------------------------------------------------------- 
 
 > > 1. сортируешь массив по parent(по возрастанию)
 > > 2. берешь первый эл-т массива(у него parent=index) это будет твой root
 > > 3. берешь следующий эл-т ищешь в дереве родительский узел(index которого
 > > равен parent данного эл-та), добавляешь к найденному эл-ту
 > > потомка(рассматриваемый эл-т)
 > > 4. переходишь к 3 пока не дойдешь до конца массива...
 > >
 
 > У меня сейчас работает нечто наподобии (цикл в цикле - в самомо страшном
 > случае дает N*N итераций)
 
         Откуда столько??? И для чего вложенные циклы, не проще все это
 делать через рекурсивные функции (которые можно потом преобразовать в
 итерации+стек) бедет гораздо проще писать...(да и код будет более
 читабельным...)
 
 > Hу очень долго, даже при сортировке. Исходные данные беру из базы данных и
 > строю структуру (здесь сортировка не проблема).
 
     Если данные берутся из БД, то зачем нужен массив описанный в первом
 письме? не проще брать данные сразу с рекорсета, к тому же тут можно сразу
 получить отсортированный рекорсет( это будет гораздо быстрее чем потом это
 делать ручками...)
 
 > Есть еще HО - Рут у меня не один, а много (типа TreeView списка).
 
     на сколько я помню курс дискетной математики у дерева может быть всего 1
 корень...(это вершина у которой нет предков, но есть потомки...:-) иначе это
 одновершинное дерево) если же у тебя несколько деревьев, то можно создать
 "виртуальний корень" сыновьями которого будут корни поддеревьев(т.е.
 объединить все это в одно дерево)... это будет удобно при последующей
 визуализации...
 > Компонент типа TDBTreeView строит все довольно быстро, но я в исходниках
 
 не
 
 > смог понять алгоритм.
 
     кстати описанный компонент строит дерево, а не "TreeView списка", и на
 сколько я помню он весь завязан на BDE...
 
 > Такая структура мне нужна для визуализации данных и в выборе логики
 > программы я весьма ограничен.
 
     А какая визуализация требуется, и в чем сложность в ее реализации???
 
 > Да и сама проблема стоит того, чтобы ее решение затем использовать в
 
 других
 
 > задачах.
 
             COM?
 --- ifmail v.2.15dev5
  * Origin: Golden Telecom (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Построение дерева   ‘ҐаЈҐ© „ў®ап­жҐў   22 Feb 2002 07:16:39 
 Re: Построение дерева   Andrey Tarasevich   22 Feb 2002 17:39:09 
 Re: Построение дерева   ‘ҐаЈҐ© „ў®ап­жҐў   23 Feb 2002 12:38:34 
 Re: Построение дерева   Andrey Tarasevich   24 Feb 2002 02:33:59 
 Re: Построение дерева   Sergey Spiridonov   22 Feb 2002 17:48:41 
 Re: Построение дерева   ‘ҐаЈҐ© „ў®ап­жҐў   23 Feb 2002 12:50:53 
 Re: Построение дерева   Grandalf Gray   23 Feb 2002 05:05:10 
 Re: Построение дерева   ‘ҐаЈҐ© „ў®ап­жҐў   23 Feb 2002 13:03:09 
 Re: Построение дерева   Grandalf Gray   23 Feb 2002 18:11:54 
Архивное /ru.algorithms/899028c69bfd.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional