![](/user_photo/2706_HbeT2.jpg)
lec17
.pdf![](/html/2706/188/html_RH4ISFy6q9.rc9I/htmlconvd-M97MYZ21x1.jpg)
![](/html/2706/188/html_RH4ISFy6q9.rc9I/htmlconvd-M97MYZ22x1.jpg)
Пример работы программы.
![](/html/2706/188/html_RH4ISFy6q9.rc9I/htmlconvd-M97MYZ23x1.jpg)
Функция enqueue.
![](/html/2706/188/html_RH4ISFy6q9.rc9I/htmlconvd-M97MYZ24x1.jpg)
Функция enqueue.
Часть а) рисунка показывает очередь и новый узел перед выполнением операции. Пунктирные линии и части b) показывают шаги 2 и 3 функции enqueue, которые позволяют добавить новый узел в конец очереди, которая не является пустой.
![](/html/2706/188/html_RH4ISFy6q9.rc9I/htmlconvd-M97MYZ25x1.jpg)
Функция denqueue.
6) Передать значение value вызывающей функции.
![](/html/2706/188/html_RH4ISFy6q9.rc9I/htmlconvd-M97MYZ26x1.jpg)
Функция denqueue.
Часть а) показывает очередь после выполнения операции enqueue. Часть b) показывает tempPtr, указывающий на исключенный узел, и headPtr, указывающий на новый первый узел очереди. Для возвращения системе блока памяти, на который указывает tempPtr, вызывается функция free.
![](/html/2706/188/html_RH4ISFy6q9.rc9I/htmlconvd-M97MYZ27x1.jpg)
Деревья.
В отличии от списков (линейных структур) деревья - нелинейные двумерные структуры данных с особыми свойствами. Узлы дерева могут содержать 2 или более связей. Будем рассматривать двоичные (бинарные) деревья, узлы которых содержат 2 связи.
![](/html/2706/188/html_RH4ISFy6q9.rc9I/htmlconvd-M97MYZ28x1.jpg)
Основные определения.
I 1 - й узел дерева называется корневым.
![](/html/2706/188/html_RH4ISFy6q9.rc9I/htmlconvd-M97MYZ29x1.jpg)
Основные определения.
I1 - й узел дерева называется корневым.
Iкаждая связь корневого узла ссылается на потомка.
![](/html/2706/188/html_RH4ISFy6q9.rc9I/htmlconvd-M97MYZ30x1.jpg)
Основные определения.
I1 - й узел дерева называется корневым.
Iкаждая связь корневого узла ссылается на потомка.
Iлевый потомок - 1й узел левого поддерева, правый потомок - 1й узел правого поддерева.