13. Бінарні дерева. Швидкі алгоритми сортування.

У попередній розділ На головну | У наступний розділ

1. Даний об'єкт A1 типу Node, що має відкриті властивості Data (цілого типу), Left і Right (типу Node). Властивості Left і Right цього об'єкта (кореня дерева) містять посилання на ліву і праву дочірні вершини (того ж типу Node). Вивести значення властивостей Data кореня, його лівої і правої дочірніх вершин, а також посилання на ліву і праву дочірні вершини в зазначеному порядку.
2. Даний об'єкт A1 типу Node - корінь дерева. Цей об'єкт пов'язаний властивостями Left і Right з іншими об'єктами того ж типу (дочірніми вершинами), вони, в свою чергу, - зі своїми дочірніми вершинами, і так далі до об'єктів, властивості Left і Right яких рівні null (у деяких вершин може дорівнювати null одна з властивостей - Left або Right). Вивести кількість вершин дерева.
3. Даний корінь A1 непорожнього дерева і число K. Вивести кількість вершин дерева, значення яких дорівнює K.
4. Даний корінь A1 непорожнього дерева. Листом дерева називається його вершина, яка не має дочірніх вершин. Вивести кількість листів для даного дерева.
5. Даний корінь A1 дерева, що містить принаймні дві вершини. Вивести кількість листів дерева, що є правими дочірніми вершинами.
6. Даний корінь A1 непорожньої дерева. Для кожного з рівнів даного дерева, починаючи з нульового, вивести кількість вершин, що знаходяться на цьому рівні. Вважати, що глибина дерева не перевищує 10.
7. Даний корінь A1 непорожнього дерева. Вивести максимальне з значень його вершин і кількість вершин, що мають це максимальне значення.
8. Даний корінь A1 дерева, що містить принаймні дві вершини. Вивести максимальне з значень його внутрішніх вершин (тобто вершин, які не є листами).
9. Дано число N (> 0) і набір з N чисел. Створити дерево з N вершин, в якому кожна вершина (крім кореня) є правою дочірньої вершиною. Кожній створюваній вершині привласнювати чергове значення з вихідного набору. Вивести посилання на корінь створеного дерева.
10. Дано число N (> 0) і набір з N чисел. Створити дерево з N вершин, в якому кожна внутрішня вершина має тільки одну дочірню вершину, причому якщо значення вершини є непарним, то вона має ліву дочірню вершину, а якщо парних, то праву. Кожній створюваній вершині привласнювати чергове значення з вихідного набору. Вивести посилання на корінь створеного дерева.
11. Дано число N (> 0). Створити дерево, коріння якого має значення N, а вершини мають наступні властивості: вершина з парних значенням K має ліву дочірню вершину зі значенням K/2 і не має правої дочірньої вершини; вершина із значенням 1 є листом; вершина з будь-яким іншим непарних значенням K має дві дочірні вершини: ліву зі значенням K/2 і праву зі значенням K - K/2 (символ «/» позначає операцію ділення без остачі). Вивести посилання на корінь створеного дерева.
12. Даниц корінь A1 непорожнього дерева. Створити копію даного дерева і вивести посилання A2 на корінь створеної копії.
13. Даний корінь A1 непорожнього дерева. Подвоїти значення кожної вершини дерева.
14. Даний корінь A1 непорожнього дерева. Додати 1 до значення кожного листа дерева і відняти 1 з значення кожної внутрішньої вершини.
15. Даний корінь A1 непорожнього дерева. До всіх вершин дерева, які є листами, додати по дві дочірні вершини-листа: ліву зі значенням 10 і праву зі значенням 11.
16. Дана вершина дерева A1 - об'єкт типу Node, що має відкриті властивості Data (цілого типу), Left, Right і Parent (типу Node). Властивості Left і Right містять посилання на дочірні вершини, а властивість Parent - на батьківську вершину даної вершини (якщо вершина є коренем дерева, то її властивість Parent одно null). Для даної вершини вивести посилання AL, AR і A0 на її ліву і праву дочірні вершини і батьківську вершину, а також посилання A2 на її сестру, тобто іншу вершину дерева, що має в якості батьківської вершину A0. Якщо деякі з перелічених вершин не існують, то вивести для них значення null.
17. Дано посилання A1 на одну з вершин дерева зі зворотним зв'язком. Вивести посилання A2 на корінь вихідного дерева.
18. Даний список цілих чисел. Виведіть всі елементи цього списку в порядку спадання значень. Виведіть новий список на екран. Розв'яжіть цю задачу за допомогою алгоритму сортування вибором.
19. Дано список цілих чисел. Відсортуйте його в порядку зростання значень. Виведіть отриманий список на екран. Розв'яжіть цю задачу за допомогою алгоритму сортування вставкою. У цьому завданні не можна користуватися додатковим списком операціями видалення і вставки елементів.
20. Дано список цілих чисел. Відсортуйте його в порядку спадання значень. Виведіть отриманий список на екран. Розв'яжіть цю задачу за допомогою алгоритму бульбашкового сортування. Допоміжним списком користуватися не можна.

Остання зміна: Monday 23 April 2018 11:33 AM