4.2.1. Физически последовательное размещение
На рис. 4.7 и рис. 4.8 представлен пример реализации иерархической структуры до и после обновления путем физически последовательного размещения данных на носителе.
A1 |
B2 |
C5 |
C12 |
C6 |
B1 |
C13 |
C9 |
B3 |
C14 |
C11 |
C7 |
C18 |
|
Рис. 4.7. Пример реализации древовидной структуры до обновления
A1 |
B2 |
C5 |
C6 |
B1 |
C13 |
C9 |
C2 |
C3 |
B3 |
C14 |
C11 |
C18 |
C4 |
B4 |
C10 |
C16 |
Рис. 4.8. Пример реализации древовидной структуры после обновления
Последовательность элементов на рис. 4.7 иногда называется левосписковой структурой (последовательность типа «сверху вниз - слева направо»).
Последовательность строится следующим образом: выбираются узлы, начиная от вершины дерева и вниз по самой левой ветви дерева; когда выбран узел самого нижнего уровня этой ветви, выбираются подобные узлы слева направо; процесс повторяется, причем уже выбранные узлы пропускаются.
При размещении каждой записи последовательности в памяти может указываться, к какому уровню дерева она относится. Это выполняется путем введения в каждую запись специального кода (например, тип записи может быть определен по типу ключа). Возможно также использование некоторой формы разграничения последовательности записей, например представление записи в таком виде:
A1(B2(C5C12C6)B1(C12C9)B3(C14C11C7C18))
Последовательные левосписковые структуры не позволяют осуществлять быстрый выбор элементов нижних уровней дерева, так как при этом требуется просмотр всего списка.
Назад к разделу "4.2. Физическое представление иерархических структур"
Вперед к разделу "4.2.2. Левосписковые структуры с переполнениями"