рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Машинное представление деревьев в памяти ЭВМ.

Машинное представление деревьев в памяти ЭВМ. - раздел Образование, Графы Деревья Можно Представлять С Помощью Связных Списков И Масси- Вов (И...

Деревья можно представлять с помощью связных списков и масси-

вов (или последовательных списков).

Чаще всего используется связное представление деревьев, т.к.

оно очень сильно напоминает логическое. Связное хранение состоит

в том, что задается связь от отца к сыновьям. В бинарном дереве

имеется два указателя, поэтому удобно узел представить в виде

структуры:

 

┌──────┬──────┬──────┐ где LPTR - указатель на левое поддерево,

│ LPTR │ DATA │ RPTR │ RPTR - указатель на правое поддерево,

└──────┴──────┴──────┘ DATA - содержит информацию, связанную

с вершиной.

Рассмотрим машинное представление бинарного дерева, изобра-

женного на рис. 6.20.

┌─┬───┬─┐

┌───┼ │ A │ ┼───┐

│ └─┴───┴─┘ │

(A) ┌─┬─┴─┬─┐ ┌─┬─┴─┬─┐

/ ┌─┼ │ b │ │ ┌────┼ │ c │ ┼───┐

(b) (c) │ └─┴───┴─┘ │ └─┴───┴─┘ │

/ / ┌─┬─┴─┬─┐ ┌─┬─┴─┬─┐ ┌─┬─┴─┬─┐

(d) (e) (g) │ │ d │ │ │ │ e │ ┼──┐ │ │ g │ │

└─┴───┴─┘ └─┴───┴─┘ │ └─┴───┴─┘

(f) ┌─┬─┴─┬─┐

│ │ f │ │

Рис. 6.20. Логическое └─┴───┴─┘

представление дерева Рис. 6.21. Машинное связное представление

дерева представленного на рис.6.20

Рассмотрим последовательное представление деревьев. Оно

удобно и эффективно в случае, если древовидная структура в тече-

ние времени своего существования не подвергается значительным из-

менениям, за счет включения вершин, удаления вершин и т.д.

Выбор метода последовательного представления деревьев опре-

деляется также набором тех операций, которые должны быть выполне-

ны над древовидными структурами. (Пример статистической древовид-

ной структуры - пирамидальный метод сортировки). Простейший метод

представления дерева в виде последовательной структуры заключает-

ся во введении вектора FATHER, задающего отбор для всех его вер-

шин. Этот метод можно использовать также для представления леса.

Недостаток метода - он не отображает упорядочения вершин дерева.

Если в предыдущем примере поменять местами вершины 9 и 10, после-

довательное представление останется тем же.

a) (1) б) (1)

/ │ │

(2) (3) (4) (2)─(3)───────(4)

/ / / │ │ │

(5) (6) (7)(9) (10) (5) (6)─(7) (9)─(10)

(8) (8)

Рис. 6.21. Диаграммы дерева: а) исходное

б) перестройка в бинарное

Последовательное представление дерева, логическая диаграмма

которого дана на рис. 6.21 , задается следующим образом:

i 1 2 3 4 5 6 7 8 9 10

FATHER [i] 0 1 1 1 2 3 3 7 4 4 ,

где ветви определяются как {(FATHER[i],i)}, i = 2,3,...,10.

Вершины 2,3,4 являются\\овьями вершины 1, вершина 5 - сы-

ном вершины 2, вершины 6,7 - сыновьями вершины 3, вершина 8 имеет

отца вершина 7 и вершины 9 и 10 - сыновья вершины 4.

Числовые поля данных используются здесь, чтобы упростить

представление дерева. Корневая вершина не имеет отца, поэтому

вместо отца для нее задается нулевое значение.

Общее правило: если T обозначает индекс корневой вершины де-

рева, то FATHER[T] = 0.

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

чается в использовании физической смежности элементов машинной

памяти вместо одного из полей LPTR или RPTR, например, способ

опускания полей, т.е. чтобы вершины появлялись в нисходящем по-

рядке. Дерево ( рис.6.21б), можно описать как:

 

┌──────────┐ указатель

RPTR ┌─────┐│ ┌──┐ │ ┌───┐

│ ­│ │ ­ ­ │ ­

DATA 1 2 5 3 6 7 8 4 9 10 информация

TAG 1 1 1 1 1 листья

 

Рис. 6.22. Последовательное представление дерева методом

опускания полей

где RPTR,DATA и TAG представляют векторы. В данном методе указа-

тель LPTR не требуется, т.к. если бы он не был пуст, то указывал

бы на вершину, стоящую непосредственно справа от данной. Вектор

TAG - бинарный вектор, в котором единицы отмечают концевые верши-

ны исходного дерева. При таком представлении имеются значительные

потери памяти, т.к. свыше половины указателей RPTR оказываются

пустыми. Эти пустые места можно использовать путем установки ука-

зателя RPTR каждой данной вершины на вершину, которая следует не-

посредственно за поддеревом, расположенном под ней. В таком

представлении поле RPTR переименовывается в RANGE:

┌──────────────────────────────────┐

│ ┌─────────────┐ │

│ ┌──────┐│ ┌──────┐│┌─────┐ │

RANGE │ │ ┌──┐││ ┌──┐│ ┌──┐│││ ┌──┐│┌>│

│ │ │ ­­│ │ ­│ │ ­­­│ │ ­­│ ­

DATA 1 2 5 3 6 7 8 4 9 10

 

Рис. 6.23. Последовательное представление дерева с

размещением вершин в возрастающем порядке

В этом случае поле TAG не требуется поскольку концевой узел

определяется условием RANGE(P) = P + 1.

Третий метод состоит в представлении дерева общего вида на

основе его восходящего обхода. Такое представление состоит из

двух векторов: один вектор описывает все вершины дерева в восхо-

дящей последовательности, а второй - задает полустепени исхода

этих вершин (см. рис.6.24). Восходящий метод представления удобен

для вычисления функцией, заданных на определенных вершинах дерева

( например, использование таких функций для генерации объектного

кода по обратной польской записи некоторого выражения ).

( + )

/

( ) ( / )

/ /

() ( b )( c ) ( d )

( a )

Рис. 6.24. Последовательное представление

дерева на основе восходящего обхода

В заключении приведем два важных понятия.

Подобие бинарных деревьев - два дерева подобны, если они

имеют одинаковую структуру ( форму ).

Эквивалентные бинарные деревья - два дерева эквивалентные,

если они подобны, и если соответствующие вершины у них содержат

одинаковую информацию.

– Конец работы –

Эта тема принадлежит разделу:

Графы

Графы Логическая структура определения структура отображающая... Основные операции над деревьями... Над деревьями определены следующие основные операции для...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Машинное представление деревьев в памяти ЭВМ.

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Логическая структура, определения
Граф - это сложная нелинейная многосвязная динамическая структура, отображающая свойства и связи сложного объекта. Многосвязная структура обладает следующими свойствами:

Машинное представление оpгpафов
Существуют два основных метода представления графов в памяти ЭВМ: матричный, т.е. массивами, и связными нелинейными списками. Выбор метода представления зависит от природы данных

Логическое представление и изображение деревьев.
Имеется ряд способов графического изображения деревьев. Пер- вый способ заключается в использовании для изображения поддеревь- ев известного метода диаграмм Венна, второй - метода

Представление любого дерева,леса бинарными деревьями.
Дерево и лес любого вида можно преобразовать единственным образом в эквивалентное бинарное дерево. Правило построения бинарного дерева из любого дерева: 1. В каждом узле

Деревья Хаффмена (деревья минимального кодирования)
Пусть требуется закодировать длинное сообщение в виде строки битов: А В А С С D А кодом, минимизирующим длину закодированного сообщения. 1) назначим коды: ┌

Деревья при работе с арифметическими выражениями
Операция объединения двух символов в один использует струк- туру бинарного дерева. Каждый узел содержит символ и частоту вхождения. Код любого символа может быть определен просмот

МАНИПУЛИРОВАНИЕ АРИФМЕТИЧЕСКИМИ ВЫРАЖЕНИЯМИ.
Дано выражение а*(-b)+с/d Операции выполняются над выражениями, представленными в виде бинарных деревьев. Такие выражения можно символьно складывать, ш1.0 Дерево

Формирование таблиц символов.
В качестве примера приложения бинарных деревьев сформулируем алгоритм ведения древовидно-структурированной таблицы символов. Основной критерий, которому должна удовлетворять прогр

Сбалансированные деревья
ОПРЕДЕЛЕНИЯ. Одной из наиболее часто встречающихся задач яв- ляется поиск необходимых данных. Существуют различные методы, от- личающиеся друг от друга временем п

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги