4 / 4 / 5
Регистрация: 13.10.2016
Сообщений: 116
1

Подсчитать среднее арифметическое значений узлов в идеально сбалансированном дереве

21.05.2017, 21:33. Показов 2781. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В файле input.txt хранится последовательность целых чисел.
По входной последовательности построить идеально сбалансированное дерево и подсчитать среднее арифметическое значений узлов.
Подскажите, пожалуйста, как записать нахождение среднего арифметического всех узлов дерева.
p.s. я понимаю, что при ф-ции обхода (по вашему мнению, какой лучше использовать обход в Идеал. Сбланс. дереве?) надо складывать информационные поля.
Код есть, но не доделанный:
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
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
 
ifstream in("input.txt");
ofstream out("output.txt");
 
struct tree {
    int inf;
    tree *right;
    tree * left;
};
tree *root;
 
void create(int number, tree *&root)
{
    int a;
    if (number > 0)
    {
        root = new tree;
        in >> a;  //считываем из файла in очередное число
        root->inf = a;
        root->left = root->right = NULL;
        int numberLeft = number / 2, numberRight = number - numberLeft - 1;
        create(numberLeft, root->left);
        create(numberRight, root->right);
    }
}
 
void search(int x, tree *root)
{
    if (root) // если дерево не пустое
        if (x == root->inf) /* и значение узла равно x,  то выводим сообщение об успешности поиска и выходим из подпрограммы */
        {
        cout << "search is successful";
        }
        else    {
            search(x, root->left); /* иначе  обходим левое и правое поддеревья */
            search(x, root->right);
        }
}
 
void preorder(tree *root)
{
    if (root)
    {
        cout << root->inf +  << "\t"; //складываем 
        preorder(root->left);
        preorder(root->right);
    }
}
 
int main(){
    int a;
    in >> a;
    create(a, root);
    in.close();
    out.close();
    return 0;
}
Добавлено через 2 часа 27 минут
Тема актуальна. Подскажите.

Добавлено через 7 часов 52 минуты
Как вызвать обход?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.05.2017, 21:33
Ответы с готовыми решениями:

Подсчитать число узлов в заданном двоичном дереве
Помогите пожалуйсто с программой.Подсчитать число узлов в заданном двоичном дереве.

Подсчитать количество узлов с четными ключами в бинарном дереве
Сделала так: struct Item { int key; char* string; Item* left; Item* right; }; __________...

Найти среднее арифметическое квадратов и среднее арифметическое абсолютных значений двух вещественных чисел
Всем здрасте помогите плиз. Дается два вещественных числа. Найти среднее арифметическое их...

В дереве бинарного поиска найти для него количество четных значений узлов дерева
В файле input.txt хранится последовательность целых чисел. По входной последовательности построить...

1
4 / 4 / 5
Регистрация: 13.10.2016
Сообщений: 116
22.05.2017, 22:22  [ТС] 2
Тема всё ещё актуальна.
0
22.05.2017, 22:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.05.2017, 22:22
Помогаю со студенческими работами здесь

Добавление, удаление, нахождение узла в сбалансированном дереве
Добрый вечер, помогите пожалуйста

Написать программу построения и поиска в взвешенно-сбалансированном дереве.
Необходима помощь с написанием программ на C++, реализующих деревья. Ну например: 1. В некотором...

Найти среднее арифметическое узлов бинарного дерева целых чисел
Помогите решить. Надо срочно!!! Создать бинарное дерево целых чисел. Вывести на экран значение...

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

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

Найти среднее арифметическое положительных значений функции и произведение значений, превышающих a
Для x принадлежит Δx=0.5 найти среднее арифметическое ее положительных значений и произведение...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru