Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекції Алгоритми.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
58.19 Кб
Скачать
  1. Дерево бінарного пошуку (binary search tree, bst):

ключ кожного вузла дерева має значення більше чи рівне значенню ключів його лівого під-дерева і менше або ж рівне – правого під-дерева. Рекурсивна реалізація пошуку для додавання вузла в дерево робить новий елемент зовнішнім вузлом («листочком» - бяднягою без посилань на діток); якщо значення ключа нового елемента відповідає якомусь ключу існуючого вузла, то новий вузол стає правим під-деревом цього вузла. BST – це вже відсортований набір даних.

Існує інший метод вставки, коли новий елемент стає коренем, тобто, всі останні вставленні вузли знаходяться поблизу вершини. Його реалізація:

а) якщо значення ключа нового вузла більше значення ключа кореня, то тоді старий корінь стає лівим під-деревом нового вузла, а праве під-дерево старого кореня – правим під-деревом нового;

б) якщо значення ключа нового вузла менше значення ключа кореня, тоді старий корінь стає правим під-деревом нового вузла, а ліве під-дерево старого кореня – лівим під-деревом нового вузла.

в) ротація – перетворення дерева, основане на обміні кореня з його дочірнім вузлом із збереженням порядку слідування ключів у вузлах BST-дерева:

  1. Ротація вправо – місцями міняються корінь та його лівий вузол = старий корінь стає правим під-деревом нового кореня + праве під-дерево нового кореня стає лівим під-деревом старого кореня;

  2. Ротація вліво – місцями міняються корінь та його правий вузол = старий корінь стає лівим під-деревом нового кореня + ліве під-дерево нового кореня стає правим старого.

  1. Порозрядний пошук;

  2. Зовнішній пошук.