Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
Страниц: 1 ... 7 8 9 [10]
 91 
 : 27-11-2019 14:00 
Автор Лена91 - Последний ответ от Лена91
Я учусь, проблема в написании кода исходя из теории. Рекурсивный способ поиска высоты дерева, не очень понятен.

 92 
 : 26-11-2019 22:29 
Автор Лена91 - Последний ответ от Джон
Извиняюсь за может бестактный вопрос: вы где-то учитесь/работаете/источник задания/цель решения?

Почему? Потому, что на лицо явная нехватка теории (матчасти). От этого зависит, стоит ли углубляться в объяснения, или же просто сдать работающий правильно код и забыть.

Хоть теория не так уж и сложна - что такое бинарное дерево? - да просто у каждого узла не более двух потомков. А точнее ВСЕГДА два потомка, только один из них или оба могут быть пустыми.

На этом и построен рекурсивыный алгоритм поиска высоты.

Но вот стоит ли его разбирать? Это зависит от цели. Другими словами: а оно Вам надо?

Ну как-то так.

 93 
 : 26-11-2019 12:36 
Автор Лена91 - Последний ответ от Лена91
19 получено из вершин (1+3+7+8 = 19), глупость.
4 получено сложением max кол-ва вершин в ветке (тех же), тоже ошибка.
3 это кол-во вершин в той же ветке, только не считая конечную вершину 8, т.к. она является "листом".

 94 
 : 25-11-2019 23:38 
Автор Лена91 - Последний ответ от Джон
Высота дерева 3.

Это определение высоты дерева? Т.е. ЛЮБОЕ бинарное дерево имеет высоту 3? Я Вас правильно понял?

Цитата
Высота дерева, у которого есть только корень 1.
Это следует из какой формулы?

Вы, за время всего "эксперимента", озвучили 3 результата:
 * 19
 *  4
 * и 3, как "неправильный" результат работы программы

3 - понятно, программа выдала такой результат.

Но как Вы получили 19? А как потом 4? Вы как-то считали? Угадывали? Задавали вопросы на других форумах?
Как?

 95 
 : 25-11-2019 17:35 
Автор Лена91 - Последний ответ от Лена91
Высота дерева 3.
Высота дерева, у которого есть только корень 1.

 96 
 : 25-11-2019 17:09 
Автор Лена91 - Последний ответ от Джон
Я вобще-то имел ввиду определение, т.е. что называется высотой дерева? Ну, или как Вы это понимаете/представляете.

Ок, попробуем по-другому.

Вы можете показать (рассказать), как у Вас получается:
 1. 4
 2. 19 (в силу)
Выдает ответ: 3. А это ведь не высота дерева, она должна быть: 19.

зы Да, и ещё один "намёк" Ага. Чему равна высота дерева, у которого есть только корень?

 97 
 : 25-11-2019 13:34 
Автор Лена91 - Последний ответ от Лена91
Высота равна 4.

 98 
 : 20-11-2019 23:05 
Автор Лена91 - Последний ответ от Джон
Ок, насчёт кода - понятно.
Классы самого дерева не очень интересны для задания. Я думаю раз из инета, то рабочие.
Алгоритм поиска высоты в методе findHeight, в принципе, стандарт.

Ещё раз вопрос: что такое высота бинарного дерева?

Исходя из (я несколько изменил порядок инициализации дерева, для лучшей наглядности)
Код: (C#)
            btree.Root = new BinaryTreeNode<int>(1);

            btree.Root.Left = new BinaryTreeNode<int>(2);
            btree.Root.Right = new BinaryTreeNode<int>(3);

            btree.Root.Left.Left = new BinaryTreeNode<int>(4);
            btree.Root.Left.Right = new BinaryTreeNode<int>(5);

            btree.Root.Right.Left = new BinaryTreeNode<int>(6);
            btree.Root.Right.Right = new BinaryTreeNode<int>(7);

            btree.Root.Right.Right.Right = new BinaryTreeNode<int>(8);
в Вашем случае дерево выглядит так:

                    1
         2                    3
    4       5           6       7
                                        8


Так чему равна его высота (без всякого кода и C#-компилятора), чисто аналитически, ЧЕМУ?

 99 
 : 19-11-2019 06:37 
Автор Лена91 - Последний ответ от Лена91
Нет, из инета. Классы из одного места, сам подсчет (функция findHeight(BinaryTreeNode<int> node)) из другого. Соединила видимо не правильно, возможно код перегружен классами.

 100 
 : 18-11-2019 21:24 
Автор Джон - Последний ответ от Джон
Тема перенесена в Ищем работника.

https://forum.shelek.ru/index.php?topic=31313.0

Страниц: 1 ... 7 8 9 [10]
Powered by SMF 1.1.21 | SMF © 2015, Simple Machines