|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.03.2008, 16:33 | #1 |
Пользователь
Регистрация: 06.11.2007
Сообщений: 47
|
Двоичные деревья
Помогите с задачей нахождения среднего арифметического самой длинной левой ветви дерева, а то никак не могу задачу доделать, само дерево построено и обход сделан, а дальше никак.
|
30.03.2008, 14:08 | #2 | |
Пользователь
Регистрация: 29.03.2008
Сообщений: 35
|
Цитата:
Что такое среднее арифметическое ветви? |
|
30.03.2008, 18:45 | #3 |
Пользователь
Регистрация: 06.11.2007
Сообщений: 47
|
Дословно. Из входной последовательности целых чисел построить дерево и определить среднее арифметическое элементов самой длинной ветви (если их несколько, то самой левой) дерева
|
30.03.2008, 20:15 | #4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
ну тогда (если Вы построили дерево и нашли самую длинную ветку) Вами сделано приблизительно 98% задания. Осталось просуммировать все элементы дерева, расположенные по то самому длинному пути и разделить их на число элементов в этом самом пути...
Вот только боюсь, что проблема у Вас как раз в том, как найти эту самую длинную ветку... ;-( |
30.03.2008, 21:41 | #5 |
Пользователь
Регистрация: 30.03.2008
Сообщений: 23
|
Помогите пожалуйста!
С помощью стека, описать нерекурсивную функцию, которая подсчитывает количество узлов на N-ом уровне непустого двоичного дерева. Прошу очень сильно помочь))
В сущности, самое распространенное бегство всякого человека - бегство от самого себя.
|
31.03.2008, 14:49 | #6 |
Пользователь
Регистрация: 06.11.2007
Сообщений: 47
|
Etlau пиши в свою тему
Serge_Bliznykov как найти среднее арифметическое я вроде умею считать . А вот с нахождением самой длинной ветви вы правы, у меня проблемы. Не поможете? |
10.12.2011, 22:00 | #7 |
Пользователь
Регистрация: 09.12.2011
Сообщений: 13
|
самая длинная ветка дерева-это его высота, у меня есть псевдокод:
p - указатель на корневую вершину IF (p = NULL) высота:=0 ELSE высота:= 1 + max(высота(p->Left), высота(p->Right)) FI |
11.12.2011, 10:32 | #8 |
Пользователь
Регистрация: 09.12.2011
Сообщений: 13
|
вот сам код непосредственно, передаете в качестве фактического параметра указатель на корневую вершину, у меня все работает, пробуйте)
int hight_of_tree(struct Vertex *p) { int a,b; if (p == NULL) return 0; a = hight_of_tree(p->L); b = hight_of_tree(p->R); if (a>b) return (a + 1); else return (b +1); } Последний раз редактировалось sibguty; 11.12.2011 в 10:37. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Двоичные деревья. 3 задачки. Срочно | rustam29 | Фриланс | 9 | 13.06.2009 18:02 |
Деревья | Mitron | Общие вопросы Delphi | 5 | 01.02.2008 10:09 |
Двоичные и шестнадцатеричные числа | Rembo | Помощь студентам | 9 | 13.11.2007 19:08 |
Как записать в com -порт или модем двоичные данные | sergrom | Win Api | 10 | 25.06.2007 15:15 |