0 / 0 / 0
Регистрация: 13.11.2010
Сообщений: 8
1

Найти максимальный элемент в двоичном дереве

13.12.2010, 19:07. Показов 1476. Ответов 1
Метки нет (Все метки)

Помогите решить задачку:найти максимальный элемент в двоичном дереве. Шаблон уже есть ,мне нужно написать функцию поиска максимального элемента.
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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
typedef struct tag_tnode tnode;
 
struct tag_tnode{
    int a;
    tnode * left,*right;
};
 
tnode * maketree(int n){
    tnode * ce;
    if (!n )
        return NULL;
    ce = new tnode;
    ce->a = rand()%11-5;
    ce->left = maketree(n-1);
    ce->right = maketree(n-1);
    return ce;
}
 
void showtreelevel(int n, int s, tnode * cn){
    int i,d;
    char str[81];
    if(s==n){
        memset(str,0,81);
        d=1;
        d = (d<<(s-1))+1;
        for(i=0;i<80/d;i++)
        str[i]=32;
        printf("%s%i",str,cn->a);
    }else{
        showtreelevel(n+1,s,cn->left);
        showtreelevel(n+1,s,cn->right);
    }
}
 
 
int process_appletree(tnode * cn, int level,int &counter){if(!cn) return 0;
else 
  return ge/*... и другие аргументы функции */){
 
    //Здесь пишем текст функции обработки двоичного дерева
 
}
 
 
int main(){
    tnode * fe;
    int b;
    fe = maketree(4);
    for(b=1;b<=4;b++){
        showtreelevel(1,b,fe);
        printf("\n");
    }
    //Здесь выполняется вызов функции обработки двоичного дерева
    return 0;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.12.2010, 19:07
Ответы с готовыми решениями:

Найти максимальный элемент в бинарном дереве
тип информационного поля int*, найти маскимальный элемент в дереве. (помогите, пожалуйста, нужен...

Как найти в двоичном дереве поиска минимальный элемент, превышающий некоторое заданное значение?
Вот примерная рекурсивная функция, но я не знаю, как выйти из нее в нужный момент. void range(Node...

Как найти в двоичном дереве поиска минимальный элемент, превышающий некоторое заданное значение?
Вот примерная рекурсивная функция, но я не знаю, как выйти из нее в нужный момент. void range(Node...

Рекурсия: найти максимальный элемент в дереве
Нужно найти максимальный элемент в дереве, используя рекурсию. Вот сама функция. Подскажите,...

1
4857 / 3278 / 467
Регистрация: 10.12.2008
Сообщений: 10,570
14.12.2010, 03:52 2
если это C, то такое int &counter действует только для C++
и new тоже, в C память выделяется через malloc() и другие

C
1
2
3
4
5
6
7
8
9
10
int process_appletree(tnode *cn, int level, int *max)
{
    if (cn == NULL)
        return 0;
    if (level == 1 || cn->a > *max)
        *max = cn->a;
    process_appletree(cn->left, level + 1, max);
    process_appletree(cn->right, level + 1, max);
    return 1;
}
C
1
2
3
4
    int maxval;
 
    if(process_appletree(fe, 1, &maxval))
        printf("%d" "\n", maxval);
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.12.2010, 03:52

Найти в бинарном дереве максимальный элемент и количество его повторений
Найти максимальный элемент бинарного дерева и количество повторений максимального элемента в данном...

Найти максимальный элемент бинарного дерева и количество повторений максимального элемента в данном дереве
Здравствуйте. Дано задание : Найти максимальный элемент бинарного дерева и количество повторений...

Найти второй максимум в двоичном дереве поиска
Собственно, в задаче не проходит один тест. Условие: Выведите второй по величине элемент в...

Определить на каком уровне в дереве находится его максимальный элемент
Ребята, помогите, пожалуйста с программой.. я с прологом в &quot;плохих отношениях&quot;.... очень нужна ваша...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.