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

Реферат Дослідження рекурсивних алгоритмів





окрема існує три способи: можна проходити вузли в прямому, зворотному і кінцевому порядку. p align="justify"> Алгоритм обходу в прямому порядку:

Потрапити в корінь,

Пройти всі поддеревья зліва на право в прямому порядку.

Даний алгоритм рекурсівен, так як проходження дерева містить проходження піддерев, а вони в свою чергу проходяться по тому ж алгоритму.

Зокрема для дерева на рис. 3 і 4 прямий обхід дає послідовність вузлів: A, B, C, D, E, G, H.

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

При реалізації цього алгоритму мовою програмування потрапляння в корінь відповідає виконання процедурою або функцією деяких дій, а проходження піддерев - рекурсивним викликам самої себе. Зокрема для бінарного дерева (де з кожного вузла виходить не більше двох піддерев) відповідна процедура буде виглядати так:


// Preorder Traversal - англійська назва для прямого порядку

procedure PreorderTraversal ({Аргументи});

// Проходження кореня

DoSomething ({Аргументи});

// Проходження лівого піддерева {Існує ліве піддерево} then ({Аргументи 2});

// Проходження правого піддерева {Існує праве піддерево} then ({Аргументи 3});;


Тобто спочатку процедура виробляє всі дії, а тільки потім відбуваються всі рекурсивні виклики.

Алгоритм обходу в зворотному порядку:

Пройти ліве піддерево,

Потрапити в корінь,

Пройти наступне за лівим піддерево.

Потрапити в корінь,

і т.д поки не буде пройдено крайнє праве піддерево.

Тобто проходяться всі поддеревья зліва на право, а повернення в корінь розташовується між цими проходженнями. Для дерева на рис. 3 і 4 це дає послідовність вузлів: B, A, D, C, E, G, F.

У відповідній рекурсивної процедурою дії будуть розташовуватися в проміжках між рекурсивними викликами. Зокрема для бінарного дерева:


// Inorder Traversal - англійська назва для зворотного порядкаInorderTraversal ({Аргументи});

// Проходження лівого піддерева {Існує ліве піддерево} then ({Аргументи 2});

// Проходження кореня ({Аргументи});

// Проходження правого піддерева {Існує праве піддерево} then ({Аргументи 3});;


Алгоритм обходу в кінцевому порядку:

Пройти всі поддеревья зліва на право,

Потрапити...


Назад | сторінка 6 з 13 | Наступна сторінка





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

  • Реферат на тему: Розробка програми, що реалізує алгоритм бінарного дерева
  • Реферат на тему: Природа людини і політичні аргументи
  • Реферат на тему: Дослідження проходження електромагнітної хвилі через іоносферу
  • Реферат на тему: Побудова та аналіз взаємодії дерева цілей і дерева систем організації
  • Реферат на тему: Інтерв'ю в газеті "Аргументи і факти"