Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 25.03.2010
Сообщений: 22
1

Бинарные деревья

04.02.2011, 17:24. Просмотров 1545. Ответов 3
Метки нет (Все метки)

Очень нужна помощь, вообще деревья не понимаю!!!
Вершина дерева содержит указатель на строку и N указателей на потомков. Функция помещает две строки в дерево так, что строки с меньшей длиной располагаются ближе к корню. Если новая строка "проходит" через вершину, в которой находится более длинная строка, то новая строка занимает место старой, а алгоритм включения продолжается для старой строки. Функция включения выбирает потомки с минимальным количеством вершин в поддереве.

Помогите пожалуйста, заранее спасибо!!!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.02.2011, 17:24
Ответы с готовыми решениями:

Бинарные деревья С++
Добрый день! Дали такое задание на лабораторную работу. кое-что получилось, а в остальном прошу...

Бинарные деревья
Вот задачка: Для заданного бинарного дерева поиска проверить условие: • для каждой вершины...

Бинарные деревья
1)Написать программу подсчета числа вершин в бинарном дереве 2)Написать программу копирования...

Бинарные деревья
Выведите номера вершин, у которых количество потомков в левом поддереве не равно количеству...

3
Эксперт С++
5037 / 3097 / 271
Регистрация: 11.11.2009
Сообщений: 7,047
04.02.2011, 17:27 2
Это не ваш товарищ?
0
0 / 0 / 0
Регистрация: 25.03.2010
Сообщений: 22
04.02.2011, 18:37  [ТС] 3
нет не мой!
0
2187 / 1702 / 851
Регистрация: 21.12.2010
Сообщений: 3,014
Записей в блоге: 11
05.02.2011, 00:10 4
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#include<iostream>
#include<algorithm>
using namespace std;
 
struct node{
    node(int, string*);
    int getzero();
    void insert(string*);
    void print();
    string *p;
    node **mas;
    int size;
};
 
node::node(int x, string* s){
    p=s;
    size=x;
    mas=new node*[size];
    for(int i=0; i<size; i++){
        mas[i]=0;
    }
}
 
int node::getzero(){
    return count_if(mas, mas+size, [](node* x){return !x;});
}
 
void node::insert(string *x){
    if(x->size()<p->size()){
        swap(*x, *p);
    }
    if(getzero()!=0){
        int ind=find_if(mas, mas+size, [](node* x){return !x;})-mas;
        mas[ind]=new node(size, x);
    }
    else{
        int temp[size];
        for(int i=0; i<size; i++){
            temp[i]=mas[i]->getzero();
        }
        int ind=max_element(temp, temp+size)-temp;
        mas[ind]->insert(x);
    }
}
 
void node::print(){
    cout<<*p<<"\n";
    for_each(mas, mas+size, [](node* x){if(x!=0)x->print();});
}
 
struct tree{
    tree(int x):size(x), root(0){}
    void insert(string*);
    void print();
    node* root;
    int size;
};
 
void tree::insert(string* p){
    if(root==0){
        root=new node(size, p);
    }
    else{
        root->insert(p);
    }
}
 
void tree::print(){
    if(root!=0) root->print();
}
 
int main(){
    int n;
    cout<<"N= ";
    cin>>n;
    tree t(n);
    string *s=new string("roadmap");
    t.insert(s);
    s=new string("make");
    t.insert(s);
    s=new string("alt");
    t.insert(s);
    s=0;
    t.print();
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.02.2011, 00:10

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Бинарные деревья
Имею три файла: Скажите пожалуйста почему я не могу создать э-т m?(Класс tree) Он мне пишет - ...

Бинарные деревья
Доброго времени суток, нужна помощь, дали задание...Вершина бинарного дерева содержит ключ, строку...

бинарные деревья
Здравствуйте! Помогите пожалуйста доделать задачу на бинарные деревья. Язык только начали...

Бинарные деревья
Ребят, кто может помочь с написанием алгоритма программы? Сам код есть


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

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

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