DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Звіт з лабораторної роботи № 6 на тему: "Структура даних бінарне дерево пошуку"

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних наук та інформаційних технологій
Факультет:
КН
Кафедра:
Кафедра електронних обчислювальних машин

Інформація про роботу

Рік:
2013
Тип роботи:
Лабораторна робота
Предмет:
Програмування Частина III Структури даних та алгоритми
Група:
КІ
Коротко про документ

Про що ця робота

Звіт з лабораторної роботи присвячено вивченню абстрактної структури даних бінарне дерево пошуку та реалізації основних операцій з ним. Студент виконав побудову дерева, обходи у різних порядках та вирішив індивідуальне завдання на C++.

У роботі розглядаються

  • Бінарне дерево пошуку
  • Структури даних
  • Алгоритми на деревах
  • Мова програмування C++
  • Обхід дерева
  • Динамічні структури даних
  • Програмна реалізація

Зміст і розділи

  1. Мета роботи
  2. Постановка задачі
  3. Динаміка вмісту БД пошуку
  4. Алгоритм розв’язання задачі
  5. Результати виконання програми / висновки
Для кого:Студенти технічних спеціальностей, викладачі дисциплін програмування та алгоритмів.
Викладачі:Не вказано

Ключові поняття

бінарне дерево пошукувузол деревалист деревапредокнащадокобхід у прямому порядкуобхід у симетричному порядкуобхід у зворотньому порядкушаблонний класмасивC++

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки, молоді та спорту України Національний університет “Львівська політехніка” Кафедра ЕОМ Звіт з лабораторної роботи № 6 на тему: " Структура даних БІНАРНЕ ДЕРЕВО ПОШУКУ" з дисципліни: " Програмування. Частина III. Структури даних та алгоритми " № варіанта = [(3) + (111)] % 20 + 1 = 15 1. МЕТА РОБОТИ Вивчення абстрактної структури даних "Бінарне дерево пошуку". Набуття практичних навичок побудови дерева та використання його для розв'язання прикладних задач. Постановка задачі Побудувати бінарне дерево пошуку для послідовності чисел, що вводяться з клавіатури. Реалізувати операції додавання та вилучення вузлів з бінарного дерева пошуку. Виконати обхід дерева у заданому порядку та показати: послідовність вершин дерева при проходженні його у прямому порядку; послідовність листків дерева при проходженні його у зворотньому порядку; послідовність вузлів, що мають тільки одного нащадка при проходженні дерева у симетричному порядку. Виконати індивідуальне завдання згідно з варіантом. 15. Знайти найближчого спільного предка двох заданих вузлів дерева. 3. Динаміка вмісту БД пошуку 3.1. Задаємо вхідну послідовність 10 цілих чисел: 77, 54, 83, 64, 50, 90, 80, -83, 63, -54. 3.2. Схематичне зображення дерева: Add(77); 77 Add(54);  Add(83);  Add(64);  Add(50);  Add (90);  Add(80);  Delete (83);  Add (63);  Delete (54);  Реалізація БД пошуку на базі масиву розмірністю 17: Індекси 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16  info 0 х 77 50 х 63 х 90 х х 80 х х 64 х х х  father 0 0 0 5 1 2 4 2 6 8 7 9 11 5 12 14 15  left-son 0 0 5 0 0 3 0 10 0 0 0 0 0 0 0 0 0  right-son 0 4 7 0 6 13 8 0 9 11 0 12 14 0 15 16 0   Head = 2; Free = 1; 3.4. Обхід БД пошуку: а) послідовність вершин дерева при проходженні його у прямому порядку: 63 90 б) послідовність листків дерева при проходженні його у зворотньому порядку: 50 64 80 в) послідовність вузлів, що мають тільки одного нащадка при проходженні дерева у симетричному порядку: 90 3.5 Знайти найближчого спільного предка двох заданих вузлів дерева. Знайти найближчого спільного предка для вузлів дерева: 50 і 90. Найближчий спільний предок - 77 Алгоритм розв’язання задачі ШАБЛОННИЙ ПАРАМЕТР, ОПЕРАТОРИ ПЕРЕІМЕНОВАННЯ ТИПІВ ТА КОНСТАНТНІ ЧЛЕНИ класу BinaryTree<T> Шаблонний параметр T предтставляє собою тип елементів, що зберігаються у списку. Він може бути довільним вбудованим типом в мові С++ а також структурою, класом (в якому визначений конструктор по замовчуванню),конструктор копіювання і оператор присвоєння. BinaryTree<T>::TreeNode::data - зберігає інформаційне поле елемента БД BinaryTree <T>::TreeNode::left - зберігає адресу наступного лівого елемента БД. BinaryTree <T>::TreeNode::right - зберігає адресу наступного правого елемента БД. BinaryTree <T>:: root - зберігає адресу кореня БД КОНСТРУКТОР ШАБЛОННОГО КЛАСУ BinaryTree<Т> BinaryTree () Післяумова: дерево ініціалізується порожнім МОДИФІКУЮЧІ ФУНКЦІЇ-ЧЛЕНИ шаблонного класу List<Item>: bool Add(TreeNode **rt, T item); Післяумова: в БД занесено новий елемент. TreeNode * WhoLeft(TreeNode *rt); Післяумова: повертає вказівник на лівий елемент пілся rt. TreeNode * WhoRight(TreeNode *rt); Післяумова: повертає вказівник на правий елемент пілся rt. void Del_Help(TreeNode ** root_ptr, TreeNode **del_node_ptr); Допоміжна функція для Delete; bool Delete(TreeNode **rt, T item); Передумова: дерево не є порожнім Післяумова: з дерева видалено елемент. TreeNode ** RefRoot(); Післяумова: повернення ссилки вказівника на корінь. TreeNode * RRoot(); Післяумова: повернення вказівника на корінь void PrintLevel(TreeNode *rt, int k, int i); Післяумова: виведення дерева на екран void GoStraight(TreeNode *rt); Післяумова: проходження вузлів БД в прямому порядку. void GoSymmetric(TreeNode *rt); Післяумова: проходження вузлів БД в симетричному порядку. void GoReverse(TreeNode *rt); Післяумова: проходження вузлів БД в оберненому порядку. КОНСТАНТНІ ФУНКЦІЇ-ЧЛЕНИ шаблонного класу List <T>: bool empty() const; Післяумова: true, якщо дерево порожнє і false в іншому випадку. 5. Результати виконання програми / Висновки. На цій лабораторній роботі я вивчив фундаментальну абстрактну структуру даних бінарне дерево пошуку, набув практичних навичок побудови даного дерева, дослідив динаміку його вмісту та використання БД для розв'язання прикладних задач.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!