Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab_rab_6.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
2.09 Mб
Скачать

25

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ

Севастопольский Государственный Университет

Кафедра радиэлектроники и телекоммуникаций

Отчёт

по лабораторной работе №6

«Обработка нелинейных структур данных»

по дисциплине

«Информационные технологии»

Выполнил: студент гр. Рб-12д

Колосов А. С.

Вариант №8

Защитил с оценкой:_________

Принял: Доцент

Редькина Е. А.

г.Севастополь

2015г.

1. Описание лабораторной работы

1.1. Цель работы

Цель работы — Изучение нелинейных структур данных. Исследование особенностей работы с поисковыми бинарными деревьями средствами языка программирования С/С++. Приобретение практических навыков по разработке и откладке программ, использующих древовидные структуры данных.

1.2. Индивидуальное задание

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

1.3. Теоретические сведения

Нелинейные структуры предназначены для отображения связей подчинённости элементов данных. Примером нелинейных структур являются иерархарические древовидные структуры. Для представления данных наибольшее распространение получили бинарные деревья.

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

struct tree {

int data; //целочисленные значения (поле данных)

struct tree *left; //указатель на левое поддерево

struct tree *right; //указатель на правое поддерево

}

Здесь данные, содержащиеся в узле, представлены целочисленным значением. Указатели на правое и левое поддеревья могут содержать адреса узлов, имеющих аналогичные поля, с которых начинаются, соответственно, левое и правое поддеревья. Иногда узлы дерева называют вершинами.

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

2. Выполнение лабораторной работы

2.1. Структурная схема алгоритма работы программы

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

Рис. 2.1 — Структурная схема алгоритма (функция main).

Продолжение Рис. 2.1

Рис. 2.2 — Структурная схема алгоритма (функция node* addtree).

Рис. 2.3 — Структурная схема алгоритма (функция listing).

Рис. 2.4 — Структурная схема алгоритма (функция browsing).

Рис. 2.5 — Структурная схема алгоритма (функция input).

Рис. 2.5 — Структурная схема алгоритма (функция menu).

Рис. 2.6 — Структурная схема алгоритма (функция node_count).

Рис. 2.7 — Структурная схема алгоритма (функция read_file).

Рис. 2.8 — Структурная схема алгоритма (функция write_file).

Рис. 2.9 — Структурная схема алгоритма (функция averageSalary).

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