Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
16
Добавлен:
01.05.2014
Размер:
208.38 Кб
Скачать

Контрольные примеры

Der_in.txt

(a(b(d))(c))

(e(f)(g(i))(k(j)))

Der_out.txt

Считываю дерево номер 1...

Дерево номер 1 считано. Скобочная запись дерева:

(a(b(d))(c))

Считываю дерево номер 2...

Дерево номер 2 считано. Скобочная запись дерева:

(e(f)(g(i))(k(j)))

Обработка леса...

Исходный лес:

Дерево 1:

a

b

d

c

Дерево 2:

e

f

g

i

k

j

Получено бинарное дерево леса:

a e

f g k

j

i

b c

d

Скобочное представление бинарного дерева леса:

(a(b(d00)(c00))(e(f0(g(i00)(k(j00)0)))0))

Der_in.txt

(a(b(ffd))(c))

(e(f)(g(i))(k(j)))

Der_out.txt

Считываю дерево номер 1...

Ошибка в записи дерева номер 1. Дерево не считано.

Считываю дерево номер 2...

Дерево номер 2 считано. Скобочная запись дерева:

(e(f)(g(i))(k(j)))

Обработка леса...

Исходный лес:

Дерево 1:

e

f

g

i

k

j

Получено бинарное дерево леса:

e

f g k

j

i

Скобочное представление бинарного дерева леса:

(e(f0(g(i00)(k(j00)0)))0)

Der_in.txt

asas

Der_out.txt

Считываю дерево номер 1...

Ошибка в записи дерева номер 1. Дерево не считано.

Обработка леса...

Получено бинарное дерево леса пусто.

Der_in.txt

Der_out.txt

Файл пуст.

Приложение

Для реализации леса использована структура данных, похожая на стректуру БД, но вместо 2-х сыновей у каждого узла может быть до 5-ти и нет принципиального различия между этими сыновьями.

type 

Tree = ^tNode; {представление бинарного дерева}

Node = record {узел: }

Info: Elem; { содержимое}

Sub1: Tree;

Sub2: Tree;

Sub3: Tree;

Sub4: Tree;

Sub5: Tree;

end {Node}

Forest = array [1..ForLen] of Tree; {лес}

Elem = char;

const

ForLen = 50;

NilT = nil;

Спецификация процедур и функций

Имя

Назначение

procedure Otkaz (n: Byte);

сообщения об ошибках

function CreateT: Tree;

создание БД

function NullT (t: Tree): Boolean;

проверка пусто ли ДБ

function RootT (t: Tree): Elem;

значание корня БД

function T1 (t: Tree): Tree;

Возвращает 1-е поддерево

function T2 (t: Tree): Tree;

Возвращает 2-е поддерево

function T3 (t: Tree): Tree;

Возвращает 3-е поддерево

function T4 (t: Tree): Tree;

Возвращает 4-е поддерево

function T5 (t: Tree): Tree;

Возвращает 5-е поддерево

function Cons_T (e: Elem; L1,L2,L3,L4,L5: Tree): Tree;

конструктор дерева

procedure DestroyT (var b: Tree);

удаление дерева

procedure WriteT (D : Tree);

вывод дерева в скоб представлении на экран

procedure WriteT1 (D : Tree;var tt:text);

вывод дерева в скоб представлении в файл

function EnterT(s:string) : Tree;

ввод дерева из файла

procedure DisplayT1 (b: Tree; n,l: integer);

вывод перев изобр дерева на экран

procedure DisplayT2 (b: Tree; n,l: integer;var tt:text);

вывод перев изобр дерева на экран

procedure CreateForest(var F : forest);

создание леса

procedure Listin(T : Tree; var F:forest);

возвращает лес поддеревьев дерева

procedure Tail(T : Tree; var F,F1 : forest );

возвразает лес дерева без головы

function Head (F : forest):Tree;

возвращает головное дерево леса

function NullF(F:forest):boolean;

проверка пуст ли лес

Соседние файлы в папке Бинарные деревья