Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lec_20_03_13.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
133.12 Кб
Скачать

Системное программное обеспечение

III. Структуры, организация, хранение и поиск данных

2. Организация данных

2.5. Деревья. Классификация бинарных деревьев

Бинарные деревья классифицируются по нескольким признакам.

1. Признак полноты бинарного дерева характеризует полные и неполные бинарные деревья.

В отличие от полного бинарного дерева, в неполном бинарном дереве узлы могут иметь степень нуль (0) на любом уровне.

2. Признак строгости бинарного дерева.

Строго бинарное дерево состоит только из узлов, имеющих степени два (2) или нуль (0). Таким образом, строго бинарное дерево может быть как полным, так и неполным.

Нестрого бинарное дерево содержит узлы со степенями 0, 1, 2.

3. Структуры хранения данных

Различные структуры данных хранятся в памяти компьютера в разных структурах хранения. Набор структур хранения ограничен, т. к. память состоит из упорядоченного набора непосредственно адресуемых машинных слов (ячеек) или слогов (байтов). Структура хранения состоит из элементов хранения, называемых записями.

Запись могут образовывать несколько машинных слов (ячеек), если элемент данных не умещается в одном машинном слове или, наоборот, в одно машинное слово может быть упаковано несколько элементов данных.

Минимальный элемент хранения данных – бит — является одним двоичным разрядом.

3.1. Вектор.

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

Для получения адреса элемента ai необходимо к базе вектора прибавить величину i - 1.

3.2. Список.

Список представляет собой набор элементов, каждый из которых состоит, по крайней мере, из двух полей: одно содержит элемент данных или указатель на элемент данных, а другое – указатель на следующий (предыдущий) элемент списка, который, в свою очередь, может быть списком.

Списковые структуры позволяют легко включать новые элементы между любыми двумя уже имеющимися элементами, и исключать элементы путем изменения указателей. Включение и исключение элементов в списках происходит без физического перемещения элементов, что является полезным свойством и часто используется в системном программировании.

Списковые структуры используются:

  • когда в памяти компьютера требуется разместить несколько динамически изменяющихся массивов (строк, таблиц) с неизвестным заранее числом элементов, что типично для трансляторов;

  • когда требуется упорядочить элементы данных без их физического перемещения или связать воедино элементы данных, размещенные в разных местах памяти, особенно, когда объединяются динамические записи переменной длины.

3.3. Сети.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]