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

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

Войти
Регистрация
Восстановить пароль
 
roma_m
0 / 0 / 0
Регистрация: 18.02.2014
Сообщений: 36
#1

Как можно совершить обход двоичного дерева нерекурсивно - C++

07.08.2014, 00:12. Просмотров 250. Ответов 4
Метки нет (Все метки)

Доброго времени суток.
Хочу поинтересоваться: как можно совершить обход двоичного дерева нерекурсивно(!!!), желательно с примерами или полезными ссылками. Спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.08.2014, 00:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как можно совершить обход двоичного дерева нерекурсивно (C++):

Помогите сделать обход двоичного дерева - C++
Есть некий проект (большой, несколько файлов), где происходит процессы со списком (добавление, удаление и т. д.). Структура: /** *...

Рекурсивно и нерекурсивно описать логическую функцию, проверяющую на равенство два бинарных дерева - C++
страшно каюсь, не подумайте что я ленивый тюлень и мне не хочется вникать в тему, обычно я никогда так не делала, но у меня не осталось...

Требуется совершить обход квадратной матрицы по спирали - C++
помогите с этой задачкой )) Спираль (Время: 1 сек. Память: 16 Мб Сложность: 38%) Требуется совершить обход квадратной...

Совершить в бинарном дереве обход Правый - Корень - Левый - C++
Нужно совершить обход Правый корень левый в бинарном дереве. #include "stdafx.h" #include "stdlib.h" #include "conio.h" #include...

Как осуществлять обход бинарного дерева? - C++
Хочу создать клас бинарное дерево, но не знаю чем это дерево я буду проходить, как двигатса от одного узла к дргому.(без создания...

Обход упорядоченного дерева. Не могу понять на что ругается прогорамма... Ошибок вроде как нет... - C++
#include "stdafx.h" #include <iostream> #include <fstream> #include <iomanip> #include <string> #include <vector> #include...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Kukurudza
105 / 86 / 6
Регистрация: 29.08.2012
Сообщений: 539
07.08.2014, 05:21 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
template <typename T1, typename T2> void tree<T1, T2>::round() const {
    std::wcout << "\n";
    std::vector<node<T1, T2> const * const> stack;
 
    node<T1, T2> const * current = _root;
    while (true) {
        while (nullptr != current) {
            stack.push_back(current);
            current = current->left;
        }
 
        if (stack.empty()) {
            break;
        } else {
            current = stack.back();
            stack.pop_back();
 
            std::wcout << current->key << "\t";
 
            current = current->right;
        }
    }
salam
162 / 143 / 12
Регистрация: 10.07.2012
Сообщений: 726
07.08.2014, 09:36 #3
Kukurudza, почему бы не использовать в качестве стека стек?
Kukurudza
105 / 86 / 6
Регистрация: 29.08.2012
Сообщений: 539
07.08.2014, 09:42 #4
salam, та пожалуйста
Renji
1901 / 1299 / 291
Регистрация: 05.06.2014
Сообщений: 3,719
07.08.2014, 09:47 #5
Хочу поинтересоваться: как можно совершить обход двоичного дерева нерекурсивно(!!!), желательно с примерами или полезными ссылками.
C++
1
2
3
4
for(node*current_node=root;current_node;current_node=current_node->next_node)
{
    //здесь что-то делаем с узлом дерева
}
И воскурить Кнута на тему прошитых деревьев.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.08.2014, 09:47
Привет! Вот еще темы с ответами:

Пример двоичного дерева - C++
Здравствуйте! Возникла мысль попробовать реализовать двоичное дерево в c++ для этого решил сначала рассмотреть какие-нибудь примеры в...

Алгоритм реализации двоичного дерева - C++
Нужно написать реализацию двоичного дерева с использованием шаблонов в упрощенном виде следуя конвенциям STL контейнеров. Основные...

Удаление корня двоичного дерева - C++
двоичное дерево состоит только из ptr корень двоичного дерева как удалить этот корень?

Проверка корректности двоичного дерева - C++
Здравствуйте! Задача такая, Свойство двоичного дерева поиска можно сформулировать следующим образом: для каждой вершины дерева V...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
07.08.2014, 09:47
Ответ Создать тему
Опции темы

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