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

Подсчет числа вершин на каждом уровне непустого дерева

02.05.2012, 22:26. Показов 3008. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задание:

Напишите программу, содержащую процедуру или функцию, которая подсчитывает число вершин на каждом уровне непустого дерева (корень считать вершиной 0-го уровня).
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.05.2012, 22:26
Ответы с готовыми решениями:

Подсчет количества вершин дерева на заданном уровне
Напишите пожалуйста Проги для нахождения количества вершин для дерева на заданном уровне, и кто сможет помогите посчитать сложность...

Определить число листьев на каждом уровне дерева
Нужно составить такую функцию. Именно на каждом отдельном уровне, а не по дереву вообще.

Определить число узлов на каждом уровне дерева
Я не силен в деревьях, помогите пожалуйста

1
 Аватар для softonet
32 / 32 / 8
Регистрация: 17.04.2011
Сообщений: 201
03.05.2012, 15:31
Лучший ответ Сообщение было отмечено trum как решение

Решение

Существует 3 вида обхода дерева: прямой, обратный и концевой.

1) Прямой обход дерева
- попасть в корень
- пройти левое поддерево
- пройти правое поддерево

2) Обратный обход дерева
- пройти левое поддерево
- попасть в корень
- пройти правое поддерево

3) Концевой обход дерева
- пройти левое поддерево
- пройти правое поддерево
- попасть в корень
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
В силу рекурсивности струтктуры двоичного дерева, реализация алгоритма обхода очень проста.
 
Прямой
 
struct Node{
char *info; // информация, располагаемая в узле дерева
Node *left; // указатель на левое поддерево
Node *right; // указатель на правое поддерево
};
int cnt; // порядковый номер узла дерева в процессе обхода
 
 
void straight(Node *root)
{
if(!root)
return;
/* здесь выполняется необходимая обработка корня – например, вывод информации в выходной поток */
printf("%d. \"%s\"\n", ++cnt, root->info);
/* обход левого поддерева */
straight(root->left);
/* обход правого поддерева */
straight(root->right);
}
 
 
Обратный
 
struct Node{
char *info; /* информация, располагаемая в узле дерева */
Node *left; /* указатель на левое поддерево */
Node *right; /* указатель на правое поддерево */
};
int cnt;
 
void reverse(Node *root)
{
/* если дерево пусто, не выполнять никаких действий – обход дерева завершается
*/
if(!root)
return;
/* обход левого поддерева */
reverse(root->left);
/* здесь выполняется необходимая обработка корня – например,
вывод информации в выходной поток */
printf("%d. \"%s\"\n", ++cnt, root->info);
/* обход правого поддерева */
reverse(root->right);
}
 
 
Концевой
 
struct Node{
char *info; /* информация, располагаемая в узле дерева */
Node *left; /* указатель на левое поддерево */
Node *right; /* указатель на правое поддерево */
};
int cnt;
 
void tail(Node *root)
{
/* если дерево пусто, не выполнять никаких действий – обход дерева завершается
*/
if(!root)
return;
/* обход левого поддерева */
tail(root->left);
/* обход правого поддерева */
tail(root->right);
/* здесь выполняется необходимая обработка корня – например,
вывод информации в выходной поток */
printf("%d. \"%s\"\n", ++cnt, root->info);
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.05.2012, 15:31
Помогаю со студенческими работами здесь

Рекурсивный подсчет вершин дерева
Доброго времени суток. Есть такое задание: "Написать рекурсивную программу, которая по заданному n считает число всех вершин высоты n в...

Подсчет вершин бинарного дерева с++
Задача такая: Написать рекурсивную функцию подсчета вершин в дереве. есть такое дерево: #include <iostream> using namespace...

Подсчет количества вершин дерева
Добрый вечер. Возникла проблема в коде, не знаю как "соединить код" всей программы + самого подсчета количества вершин дерева, чтобы...

Совет для создания словаря в виде дерева, на каждом уровне которого располагается буква
Здравствуйте, у меня есть задание - написать англо-русский словарь. Если бы задание на этом и заканчивалось, тогда бы можно было придумать...

Определение глубины (числа ветвей) непустого дерева от вершины до заданного узла
Подскажите пожалуйста. Никак не могу найти код нахождения глубины бинарного дерева от вершины до заданного узла. тут весь форум перерыл...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru