Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.17;
Скачать: [xml.tar.bz2];




Вниз

Иерархическая структура 


vuk   (2001-12-29 15:31) [18]

to sky3d:
>Почему же по ней нельзя сделать перебор при желании ?
Я немного не верно выразился. Линейная структура хороша при прямом индексном доступе. При переборе она тоже эффективна. Не эффективна она при массовых операциях вставки и (в меньшей степени) удаления.
Что же касается перебора элементов дерева или списка, то при правильном обходе дерева обычный итератор по ссылочной структуре обеспечит вполне нормальную скорость перебора. Она будет немного меньше скорости прохода по линейному списку (если его хранить, а не эмулировать). Однако затраты на поддержание правильной структуры дерева в случае использования только ссылочной структуры намного меньше.

>Ну и работайте с деревом, а массив используйте при сохранении
>изменений или загрузки дерева.
Способ сериализации (хранения данных) дерева - это отдельный вопрос. Хранить дерево в массиве можно, однако в любом случае придется дополнительно сохранять связи элементов. Здесь все зависит от свойств самого хранилища. Если это какое-либо объектное хранилище, то массивы здесь вовсе не нужны, поскольку, скорее всего, можно каким-то образом хранить вложенные объекты. Если же используется, например, реляционная БД, то соответственно, нужно и методы сохранения связей использовать другие.




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.17;
Скачать: [xml.tar.bz2];




Наверх






Память: 0.74 MB
Время: 0.017 c
1-52575           Alexandr              2001-12-28 13:22  2002.01.17  
Delphi & Help


1-52598           Ross                  2001-12-29 19:19  2002.01.17  
XP Component


3-52468           SAlex                 2001-12-14 08:07  2002.01.17  
Фильтрация данных таблицы по данным из двух других таблиц


1-52580           Andrey Sharapow       2001-12-27 11:13  2002.01.17  
Нужна идея !!!


7-52675           Lizard                2001-09-30 13:59  2002.01.17  
Как из списка в listbox1 удалить нужную строку ?