Форум программистов, компьютерный форум, киберфорум
Алгоритмы
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 2
Регистрация: 09.10.2009
Сообщений: 413
1

Количество узлов поддерева

16.12.2009, 18:18. Показов 1144. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В общем дано произвольное дихотомическое дерево. Нужно проверить, является ли оно АВЛ-деревом.

Народ, как подсчитать кол-во узлов в левом/правом поддереве? Я метод написал, но он не правильно работает, подскажите пожалуйста, кто может:

//Кол-во узлов в бинарном дереве

C#
1
2
3
4
5
6
7
8
9
10
11
        public int Count(DTreeNode pointer)
        {
            int c;
 
            if (pointer != null)
                c = Count(pointer.Left) + Count(pointer.Right) + 1;
            else
                c = 0;
 
            return c;
        }


Вызов:

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
class Program
    {
        static void Main(string[] args)
        {
            DixotomyTree T = new DixotomyTree();
 
            //К примеру, вставим такие числа
            T.Root = T.Ins(T.Root, 70);
            T.Root = T.Ins(T.Root, 60);
            T.Root = T.Ins(T.Root, 80);
            T.Root = T.Ins(T.Root, 5);
            T.Root = T.Ins(T.Root, 4);
            T.Root = T.Ins(T.Root, 10);
            T.Root = T.Ins(T.Root, 79);
            T.Root = T.Ins(T.Root, 81);
 
 
            Console.WriteLine("В левом поддереве "+T.Count(T.Root.Left)+" Узлов");
            Console.WriteLine("В правом поддереве " + T.Count(T.Root.Right) + " Узлов");
 
            if (Math.Abs(T.Count(T.Root.Left) - T.Count(T.Root.Right)) <= 1)
                Console.Write("АВЛ-дерево!");
            else
                Console.Write("НЕ АВЛ-дерево");
 
            Console.ReadLine();
        }
    }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.12.2009, 18:18
Ответы с готовыми решениями:

Максимальная высота полного поддерева опирающегося на листья в дереве
Не могу понять интересную задачку, как подсчитать высоту поддерева опирающегося на листья Вот...

Подсчет узлов содержащих два поддерева в бинарном дереве
using System; using System.Collections.Generic; using System.Linq; using System.Text; ...

Рекурсия: Вывести номера вершин, для которых высота левого поддерева не равна высоте правого поддерева
Вывести номера вершин, для которых высота левого поддерева не равна высоте правого поддерева.:(

Поменять местами первый элемент левого поддерева и максимальный элемент правого поддерева
Здравствуйте! Помогите, пожалуйста, с заданием по деревьям. Условие: поменять места первый...

0
16.12.2009, 18:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.12.2009, 18:18
Помогаю со студенческими работами здесь

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

Количество узлов
Не могу определить количество ветвей и узлов на схеме. Знаю, что узлы - места пересечения трех и...

Количество подключенных узлов
Доброго времени суток. Имеется домен, в нем как минимум 30 рабочих станций и 5 серверов. Нужно...

Количество ветвей и узлов
Доброго времени суток. Народ,подскажите сколько здесь ветвей и узлов.


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru