Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ написать логическое выражение , представляющее условие (знаки операций отделять от операндов пробелами): https://www.cyberforum.ru/ cpp-beginners/ thread988567.html
вопрос: На языке C++ написать логическое выражение , представляющее условие (знаки операций отделять от операндов пробелами): x находиться в интервале от -5 до 5, но это не 0.
Работа с текстовыми файлами си++ C++
#include "stdafx.h" #include <iostream> #include <string> #include <string.h> #include <math.h> #include <fstream> #include <windows.h> using namespace std; void train()
C++ Ряд Тейлора
Здраствуйте, задача состоит в просчете ряда Тейлора в области от -1 до 1, с вводом шага и точности. Я уже набросал кое-что, вот код: #include <iostream> #include <conio.h> #include <math.h>...
C++ Русский язык в строке ошибок компилятора Подскажите, как изменить язык отчета об ошибках с английского на русский? Программа Dev C++. с русским языком в консоле разобрался, а там никак не получается) https://www.cyberforum.ru/ cpp-beginners/ thread988504.html
C++ Функции перегрузки https://www.cyberforum.ru/ cpp-beginners/ thread988497.html
Здравствуйте, помогите решить задачу. Зараниее спасибо. С помощью механизма перегрузки функций реализовать функции для нахождения максимального из: а) 2-х чисел; б) длин 2-х строк; в) длины...
Кто может программу по шифрованию RSA? C++
Задали написать лабораторную по какому нибудь алгоритму шифрования,там задачи,теория,программа тесты и вывод. Кто нибудь может помочь написать программу? Ничего абсолютно не понимаю в языках. На...
Является ли заданное число степенным? C++
Число n называется степенным, если его можно получить из некоторого числа умножением на себя хотя бы один раз. Например, 4 степенное число, так как 4=2•2, 27 тоже степенное число, так как 27=3•3•3, а...
C++ Типизированные файлы Очень надо все 3 задачи в С++ 1. Ввести файл F из 11 элементов. Найти произведение индексов элементов файла больших семи. 2. Ввести файл F . Все нули в файле заменить единицами, а единицы... https://www.cyberforum.ru/ cpp-beginners/ thread988474.html
C++ C++ https://www.cyberforum.ru/ cpp-beginners/ thread988466.html
Дайте ссылку на скачивание среды разработки программ C++ для windows 7
C++ Динамические массивы #include <iostream> using namespace std; int main() { int num; cout << "Ââåäèòå öåëîå ÷èñëî: " << num; int *psome = new int ; delete psome; https://www.cyberforum.ru/ cpp-beginners/ thread988449.html
0 / 0 / 0
Регистрация: 19.10.2013
Сообщений: 30
0

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

26.10.2013, 15:01. Просмотров 1045. Ответов 6
Метки (Все метки)

Возникла проблема с бинарными деревьями . Нужно определить K - количество узлов, ключ которых больше заданного числа N.
Я дошёл только до создания дерева и вывода его на экран:
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
// tree.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
 
struct tree
{
    int info;
    tree* left;
    tree* right;
};
void NewTree(tree* &r, int info)
{
    if(NULL==r)
    {
        r=new tree;
        r->left=r->right=NULL;
        r->info=info;       //запись элемента
    }
        
        if(info<r->info)     //запись в левое поддерево
        {
            if(r->left!=NULL) NewTree(r->left,info);
            else
            {
                r->left=new tree;
                r->left->left=r->left->right=NULL;
                r->left->info=info;
            }
        }
        if(info>r->info)        //запись в левое поддерево
        {
            if(r->right!=NULL) NewTree(r->right,info);
            else
            {
                r->right=new tree;
                r->right->right=r->right->left=NULL;
                r->right->info=info;
            }
        }
}
void Preorder(tree* &p)
{
    if(!p) return;
    cout<<p->info<<" ";
    Preorder(p->left);
    Preorder(p->right);
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL,"Rus");
    tree* r=NULL;
    int info;
    for(int i=1;i<20;i++)
    {
        info=i +3;
        NewTree(r,info);
    }
    cout<<"Элементы дерева: "<<endl;
    Preorder(r);
    cout<<endl;
       int N;
       cout<<"Введите N:";
       cin>>N;
    getch();
    return 0;
}
Не могу понять , как определить это количество узлов ? Помогите , пожалуйста , запутался я что-то с этими поддеревьями совсем . Хотя бы идею подайте , пожалуйста. Заранее огромнейшее спасибо!

Вернуться к обсуждению:
Бинарные деревья
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.10.2013, 15:01
Готовые ответы и решения:

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

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

Бинарные деревья
Компилятор выдаёт ошибки в 9, 10 и 12, 13 строках: invalid conversion from 'int' to 'sNode*' ...

Бинарные деревья
Подсчитать количество элементов на n-уровне бинарного дерева. Подскажите как можно решить...

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