Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Структури даних: бінарне впорядковане незбалансоване дерево

Реферат Структури даних: бінарне впорядковане незбалансоване дерево





Казанський Державний Технічний Університет

ім. А. Н. Туполєва

В В В В В В В В В 

Курсова робота

з програмування

на тему

Структури даних:

бінарне впорядковане незбалансоване дерево

В В 





В В В В В  Виконав: Звєрєв І. М. В  Перевірив: Рахматуллін А. І. В В В В В В В В В В 

Казань

2003

План роботи:

В 

1) Постановка завдання

2) Опис програми

3) Код програми на мовах Pascal і С + +

1. Постановка завдання


Потрібно написати програму, що реалізовує основні операції роботи з деревом. Причому, обов'язковим умовою є використання структури даних клас для опису дерева і методів роботи з ним.

2. Опис програми

В 

Опис ведеться для коду на Pascalе, відмінності для С + + будуть вказані нижче.

У програмі основним елементом є клас TTree. Його методи - це основні процедури роботи з деревом:

Create - конструктор класу - процедура, що створює дерево,

Add - метод додавання елемента в дерево,

Del - метод видалення елемента з дерева,

View - метод виведення елементів дерева на екран,

Exist - метод перевірки існування елемента з деяким ключем, по суті пошук елемента,

Destroy - деструктор класу - процедура, що видаляє дерево.


Розглянемо алгоритми роботи процедур.


Create - створення дерева. Присвоює полю Root (корінь) значення nil - покажчика, який нікуди не вказує.


Add - додавання елемента в дерево. Для побудови дерева використовуємо наступний алгоритм. Перший елемент поміщаємо в корінь (инициализируем дерево). Далі поступаємо таким чином. Якщо додається в дерево елемент має ключ більший, ніж ключ вузла, то, якщо сайт не лист, обходимо його справа. Якщо додається елемент має ключ не більший ніж ключ вузла, то, якщо сайт не лист, обходимо його ліворуч. Якщо дійшли до листа, то додаємо елемент відповідно праворуч або ліворуч.


Del - видалення елемента з дерева.

Видалення вузла досить просто якщо він є листом або має одного нащадка. Наприклад, якщо потрібно видалити вузол з ключем М треба просто замінити праву посилання вузла К на покажчик на L. Складність полягає у видаленні вузла з двома нащадками, оскільки ми не можемо вказати одним покажчиком на два напрями.

В 

Наприклад, якщо просто видалити вузол з ключем N, то лівий покажчик вузла з ключем Т повинен вказувати одночасно на К і R що неможливо. У цьому випадку видаляється вузол потрібно замінити на інший вузол з дерева. Виникає питання, яким же вузлом його замінити? Цей вузол повинен володіти двома властивостями: по-перше, він повинен мати не більше одного нащадка, по-друге, для збереження впорядкованості ключ...


сторінка 1 з 7 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Створення класу і розробка програми "Бінарне дерево пошуку"
  • Реферат на тему: Програмна реалізація додавання даних до впорядкованого двійкове дерево
  • Реферат на тему: Бінарне дерево
  • Реферат на тему: Фактори ціноутворення. Форми оплати праці. Організаційні структури управл ...
  • Реферат на тему: Побудова та аналіз взаємодії дерева цілей і дерева систем організації