![](/user_photo/2706_HbeT2.jpg)
lec17
.pdf![](/html/2706/188/html_RH4ISFy6q9.rc9I/htmlconvd-M97MYZ31x1.jpg)
Основные определения.
I1 - й узел дерева называется корневым.
Iкаждая связь корневого узла ссылается на потомка.
Iлевый потомок - 1й узел левого поддерева, правый потомок - 1й узел правого поддерева.
Iпотомки одного узла называются узлами - сиблингами
![](/html/2706/188/html_RH4ISFy6q9.rc9I/htmlconvd-M97MYZ32x1.jpg)
Основные определения.
I1 - й узел дерева называется корневым.
Iкаждая связь корневого узла ссылается на потомка.
Iлевый потомок - 1й узел левого поддерева, правый потомок - 1й узел правого поддерева.
Iпотомки одного узла называются узлами - сиблингами
Iузел не имеющий потомков называется листом.
![](/html/2706/188/html_RH4ISFy6q9.rc9I/htmlconvd-M97MYZ33x1.jpg)
Двоичное дерево поиска.
Двоичное дерево поиска (с неповторяющимися значениями в узлах) устроено так, что значение в любом левом поддереве меньше чем значение в родительском узле, а значения в правом поддереве больше чем значения в родительском узле.
![](/html/2706/188/html_RH4ISFy6q9.rc9I/htmlconvd-M97MYZ34x1.jpg)
Пример программы двоичного дерева поиска.
Программа создает двоичное дерево и обходит его 3-мя способами: с порядковой выборкой (inorder), предварительной выборкой (preorder), отложенной выборкой (postorder). Программа генерирует 10 случайных чисел и вставляет их в дерево, повторяющиеся отбрасываются.
![](/html/2706/188/html_RH4ISFy6q9.rc9I/htmlconvd-M97MYZ35x1.jpg)
![](/html/2706/188/html_RH4ISFy6q9.rc9I/htmlconvd-M97MYZ36x1.jpg)
![](/html/2706/188/html_RH4ISFy6q9.rc9I/htmlconvd-M97MYZ37x1.jpg)
![](/html/2706/188/html_RH4ISFy6q9.rc9I/htmlconvd-M97MYZ38x1.jpg)
![](/html/2706/188/html_RH4ISFy6q9.rc9I/htmlconvd-M97MYZ39x1.jpg)
Пример работы программы.
![](/html/2706/188/html_RH4ISFy6q9.rc9I/htmlconvd-M97MYZ40x1.jpg)
Программа двоичного дерева поиска.
Функции создания и обхода двоичного дерева являются рекурсивными. Функции insertNode передаются 2 аргумента: адрес дерева и целое значение, которое необходимо хранить в дереве.
Что бы вставить узел в двоичное дерево поиска необходимо выполнить следующее: