Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/21: Рейтинг темы: голосов - 21, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 15.04.2009
Сообщений: 49

Как можно посчитать ширину дерева?

30.04.2009, 00:28. Показов 4263. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Товарищи!!!!!
подскажите пожалуйста как можно посчитать ширину дерева!!!?????
(под шириной дерева понимается максимальное количество елементов, находящихся на одном уровне)
очень надо!!!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.04.2009, 00:28
Ответы с готовыми решениями:

Обход дерева в ширину
имеется такой кусок программы. требуется обойти дерево в ширину. библиотека #include <queue> подключена void...

Обход дерева в ширину
Кто нибудь может скинуть мне программу обхода дерева в ширину?

Реализация обхода в ширину и глубину бинарного дерева
Как реализовать обход дерева (глубины три, т.е. трех уровневое) в глубину и ширину и что под этим подразумевается?

6
0 / 0 / 0
Регистрация: 13.04.2009
Сообщений: 3
08.05.2009, 20:56
Циклом пробежатся по каждому элементу дерева и определить максимальный уровень разветвлений
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
08.05.2009, 21:28
Обходишь дерево. При заходе в первого ребёнка увеличиваешь счётчик. При возврате от ребёнка к родителю счётчик уменьшаешь. Такми образом счётчик будет означать уровень текущего узла
0
0 / 0 / 0
Регистрация: 15.04.2009
Сообщений: 49
08.05.2009, 23:09  [ТС]
Цитата Сообщение от Evg Посмотреть сообщение
Обходишь дерево. При заходе в первого ребёнка увеличиваешь счётчик. При возврате от ребёнка к родителю счётчик уменьшаешь. Такми образом счётчик будет означать уровень текущего узла
ну да это вроде понятно, я и сам примерно также рассуждал.
проблема в том, как будут сохраняться значения счетчика, ведь обход дерева - это рекурсивная функция, и если в ее теле объявить этот счетчик, то на каждом шаге рекурсии будет создана новая переменная, которая будет уничтожена вместе с кадром стека для текущего шага рекурсии.
Или нужно сделать обход с помощью цикла, что для меня является достаточно нетривиальной задачей.

Если нетрудно приведите какой нибудь пример рабочего кода или подскажите как разрешить мою проблему!!
Заранее спасибо.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
08.05.2009, 23:16
Номер уровня надо передавать праметром

Ну схематично

C
1
2
3
4
5
6
7
8
void PassNode (Node* node, int level)
{
  Node *son;
 
  son = ....
 
  PassNode (son, level + 1);
}
1
0 / 0 / 0
Регистрация: 15.04.2009
Сообщений: 49
08.05.2009, 23:29  [ТС]
Спасибо !!!! попробую так сделать!!
если возникнут проблемы, то я к вам обращусь!!!
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
08.05.2009, 23:35
Обращайся
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.05.2009, 23:35
Помогаю со студенческими работами здесь

Как можно совершить обход двоичного дерева нерекурсивно
Доброго времени суток. Хочу поинтересоваться: как можно совершить обход двоичного дерева нерекурсивно(!!!), желательно с примерами или...

Как можно посчитать эту функцию?
Фото во вложении

Обход дерева в ширину
Здравстуйте! Есть реализация класса с деревьями, не могу написать метод для поуровневого обхода дерева итерациями (т.е. в ширину), чтобы...

CSS. Как можно задать изменяющуюся ширину?
Мне нужно чтобы ширина ячейки менялась, взависимости от длинны строки... т.е. чтобы перенос на следующую строку не происходил? Подскажите...

Обход бинарного дерева в ширину
Честное слово, облазил весь интернет и не нашел не одной реально рабочей программы. Сама задача вот: программа, выполняющая обход дерева...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru