Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 4.83
hazerot
2 / 2 / 0
Регистрация: 13.05.2012
Сообщений: 46
#1

Алгоритмы обходов дерева - C++

12.07.2012, 19:06. Просмотров 3244. Ответов 4
Метки нет (Все метки)

Всем добрый вечер. Не у кого случаем не завалялись алгоритмы для обходов дерева, если да, то поделитесь пожалуйста.
Нужны обходы:
Прямой или префиксный порядок (сверху вниз)
Обратный или инфиксный порядок (слева направо)
Концевой или постфиксный порядок (снизу вверх)
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.07.2012, 19:06     Алгоритмы обходов дерева
Посмотрите здесь:

Количество обходов шахматной доски конём (с возвратом в начальную клетку) - C++
Всем добрый день, нужна помощь. Нужно найти на доске n*m количество обходов доски. n,m <=6. С последней клетки нужно обязательно вернуться...

Алгоритмы С++ - C++
Написать программу календарь, которая при вводе даты выдает день недели

Алгоритмы на C++ - C++
Вот решил приобрести себе такую ​​книгу. http://www.ozon.ru/context/detail/id/5531965/ Книга вроде не плохая, но там нет описания всех...

Алгоритмы - C++
case 2:{ int n1; int n2; do{ cout << "Введите номер словаря в который хотите добавить ячейку: ...

Алгоритмы ветвления - C++
Составить программу, которая выводит на экран слово «ИСТИНА», если условие выполнено или слово «ЛОЖЬ», если условие не выполнено. Данные...

Итерационные алгоритмы - C++
Задание: вычислить значение бесконечного выражения (прогрессии) с вводом с клавиатуры значения аргумента (х) и количества членов (N)....

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт С++
4960 / 3036 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
12.07.2012, 21:09     Алгоритмы обходов дерева #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
hazerot, если говорить о рекурсивной реализации, всё довольно просто, фактически, название обхода определяет реализацию.
Префиксный обход:
C++
1
2
3
4
5
6
7
8
9
10
void preorder(TreeNode *node)
{
    if (node != 0)
    {
        std::cout << node->data << std::endl;
        
        preorder(node->left);
        preorder(node->right);
    }
}
Инфиксный обход:
C++
1
2
3
4
5
6
7
8
9
10
11
void inorder(TreeNode *node)
{
    if (node != 0)
    {
        inorder(node->left);
        
        std::cout << node->data << std::endl;
        
        inorder(node->right);
    }
}
Постфиксный обход:
C++
1
2
3
4
5
6
7
8
9
10
void postorder(TreeNode *node)
{
    if (node != 0)
    {
        postorder(node->left);
        postorder(node->right);
        
        std::cout << node->data << std::endl;
    }
}
akk
44 / 44 / 7
Регистрация: 28.01.2012
Сообщений: 341
03.01.2013, 01:03     Алгоритмы обходов дерева #3
silent_1991, это ж левоассоциативные обходы?
Цитата Сообщение от silent_1991 Посмотреть сообщение
C
1
2
3
4
5
6
7
8
void preorder(TreeNode *node) 
{ 
if (node != 0) 
{ std::cout << node->data << std::endl;
preorder(node->left); 
preorder(node->right); 
} 
}
Для того чтобы были правоассоциативные нужно поменять 5 и 6 строчку???
silent_1991
Эксперт С++
4960 / 3036 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
08.01.2013, 14:32     Алгоритмы обходов дерева #4
Цитата Сообщение от akk Посмотреть сообщение
Для того чтобы были правоассоциативные нужно поменять 5 и 6 строчку???
Очевидно, да.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.05.2017, 20:43     Алгоритмы обходов дерева
Еще ссылки по теме:

Линейные алгоритмы - C++
1. Написать программу вычисления площади поверхности параллелепипеда. Ниже приведен рекомендуемый вид экрана во время выполнения программы...

Циклические алгоритмы - C++
Help!!! Задача предполагает применение оператора цикла while языка программирования С++. 1. Найти сумму ряда с точностью =0,001, общий...

Алгоритмы разветвления - C++
Народ помогите!!!Надо прогу написать на Borland С++ 5.02(НЕ BUILDER!!!),условия такие: &quot;Дано два натуральных числа. Расположить их таким...

Алгоритмы на графах - C++
Изолированные города В государстве N городов с номерами 1.2….N. Некоторые города связаны между собой дорогами и образуют штат. Сколько...

Алгоритмы архивирования - C++
Здравствуйте! Меня интересуют алгоритмы архивирования на С++. Подскажите, пожалуйста, где я могу взять материал по данной теме в...

Книги по алгоритмы - C++
Всем добрый вечер. Вопрос состоит вот в чем, когда то была на компьютере книга со сборников алгоритмов от самых простых (поиск...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Akalit
0 / 0 / 0
Регистрация: 07.02.2017
Сообщений: 27
07.05.2017, 20:43     Алгоритмы обходов дерева #5
А что мы должны передавать в функцию?
Yandex
Объявления
07.05.2017, 20:43     Алгоритмы обходов дерева
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru