Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - Подсчёт количества узлов поддерева

Ответить
Настройки темы
Разное - Подсчёт количества узлов поддерева

Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

Как подсчитать кол-во узлов в левом/правом поддереве? Я метод написал, но он не правильно работает, подскажите пожалуйста, кто может. Язык C#.

Код: Выделить весь код
//Кол-во узлов в бинарном дереве
public int Count(DTreeNode pointer)
        {
            int c;
 
            if (pointer != null)
                c = Count(pointer.Left) + Count(pointer.Right) + 1;
            else
                c = 0;
 
            return c;
        }

Вызов:

Код: Выделить весь код
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();
        }
    }

Отправлено: 18:56, 16-12-2009

 


Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - Подсчёт количества узлов поддерева

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Delphi - Определение количества RAM и количества видеопамяти stasmd Программирование и базы данных 17 05-04-2010 13:35
подсчёт слов в текстовом файле bakatum Хочу все знать 4 22-01-2010 21:10
UserGate - Подсчёт трафика Deman Сетевые технологии 0 08-12-2009 11:30
Подсчёт трафика KillHunter Программное обеспечение Linux и FreeBSD 5 12-02-2009 12:25
Теория - Подсчёт узлов двоичного дерева рекурсивной функцией Gamover jr Программирование и базы данных 6 11-11-2007 18:15




 
Переход