Курсовая работа: Структура данных программного комплекса Q-дерево

- тип – целый;

- область видимости – внутри и вне модуля;

- используется в операциях вставки и удаления элементов дерева для проверки числа точек в листьях.

2.1.4 Подпрограммы модуля

2.1.4.1 Функция InsertPoint

· Функция предназначена для вставки нового элемента в Q-дерево

· Параметры

- выходной параметр – указатель на узел дерева, в которое вставляется элемент (тип PNode);

- входной параметр – границы этого узла (тип TRect);

- входной параметр – координаты вставляемой точки (тип TPoint);

· Функция возвращает логическое значение (тип boolean), указывающее на изменение количества элементов в дереве

· Локальные переменные

- CurNode – текущий квадрант (тип PNode);

- DopArray– дополнительный массив, необходимый при делении листа на новые узлы (тип TArrayOfPoints);

- midX, midY– координаты середины узла (тип real);

- NewBounds– границы нового узла, передаваемые в качестве параметра в рекурсивном вызове функции (тип TRect);

- i – счетчик цикла (тип integer).

· Словесный алгоритм

В начале своей работы функция проверяет, не является ли пустым параметр-указатель; если да, то для него выделяется память, устанавливаются начальные значения полей и вставляется новый элемент. Если он не является листом, осуществляется цикл переходов к листу с нужными границами. Далее проверяется число элементов в листе, и, если оно меньше допустимого, туда вставляется новая точка; иначе этот лист разделяется на 4 новых, его точки рекурсивно распределяются по новым листам и затем – вставка новой точки.

2.1.4. 2 Процедура DeletePoint

· Процедура предназначена для удаления элемента из Q-дерева

· Параметры

- выходной параметр – указатель на корневой узел дерева, из которого удаляется элемент (тип PNode);

- входной параметр – границы этого узла (тип TRect);

- входной параметр – координаты вставляемой точки (тип TPoint);

· Предусловия

Указатель на дерево не должен быть пустым

· Локальные переменные

- CurNode – текущий квадрант (тип PNode);

- ParentNode – родительский узел листа с удаляемой точкой;

- DopArray – дополнительный массив, необходимый при делении листа на новые узлы (тип TArrayOfPoints);

- midX, midY – координаты середины узла (тип real);

К-во Просмотров: 650
Бесплатно скачать Курсовая работа: Структура данных программного комплекса Q-дерево