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

Поиск элемента в бинарном дереве, вставка элемента

03.04.2017, 21:31. Просмотров 1833. Ответов 1
Метки нет (Все метки)

Прошу помочь написать программу для поиска элемента в бинарном дереве, и вставки элемента.
Могу заплатить, так как нужно срочно. Но прошу сделать это простым способом (без огромных кодов).
Язык программирования: С++ или Pascal...
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.04.2017, 21:31
Ответы с готовыми решениями:

Поиск элемента в бинарном дереве
Всем привет! Я столкнулась с проблемкой... Мне необходимо в бинарном дереве найти запись с ключом,...

Поиск предка элемента в бинарном дереве
Вот функция поиска предка в бинарном дереве поиска: tree* predok(tree* root, tree* potomok, int...

Реализовать поиск и удаление элемента по индексу в бинарном дереве
Здравствуйте подскажите пожалуйста как сделать удаление и поиск по индексу. #include<iostream> ...

Поиск элемента с заданным ключом в бинарном дереве, используя обход
Помогите пожалуйста! Необходимо найти элемент с заданным ключом в бинарном дереве, используя обход...

1
с++
1185 / 472 / 208
Регистрация: 15.07.2015
Сообщений: 2,369
03.04.2017, 23:18 2
Лучший ответ Сообщение было отмечено Zotac_Good как решение

Решение

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
#include <iostream>
using namespace std;
 
int tabs = 0; //Для создания отступов
//Кол-во отступов высчитывается по кол-ву рекурсивного вхождения при выводе в фукцию print
 
//Структура ветки
struct Branch
{
    char Data; //Поле данных
    Branch *LeftBranch; //УКАЗАТЕЛИ на соседние веточки
    Branch *RightBranch; 
};
 
 
//Функция внесения данных
void Add(char aData, Branch *&aBranch)
{
    //Если ветки не существует
    if (!aBranch)
    { //создадим ее и зададим в нее данные
        aBranch = new Branch;
        aBranch->Data = aData;
        aBranch->LeftBranch = 0;
        aBranch->RightBranch = 0;
        return;
    }
    else //Иначе сверим вносимое
    if (aBranch->Data>aData)
    { //Если оно меньше того, что в этой ветке - добавим влево
        Add(aData, aBranch->LeftBranch);
    }
    else
    { //Иначе в ветку справа
        Add(aData, aBranch->RightBranch);
    };
}
 
//Функция вывода дерева
void print(Branch *aBranch)
{
    if (!aBranch) return; //Если ветки не существует - выходим. Выводить нечего
    tabs++; //Иначе увеличим счетчик рекурсивно вызванных процедур
    //Который будет считать нам отступы для красивого вывода
 
    print(aBranch->LeftBranch); //Выведем ветку и ее подветки слева
 
    for (int i = 0; i<tabs; i++) cout << " "; //Потом отступы
    cout << aBranch->Data << endl; //Данные этой ветки
 
 
    print(aBranch->RightBranch);//И ветки, что справа
 
    tabs--; //После уменьшим кол-во отступов
    return;
}
 
void FreeTree(Branch *aBranch)
{
    if (!aBranch) return;
    FreeTree(aBranch->LeftBranch);
    FreeTree(aBranch->RightBranch);
    delete aBranch;
    return;
}
 
 
int main()
{
    Branch *Root = 0;
    char s[] = "18452789";
 
    for (int i = 0; s[i]; i++)
    {
        Add(s[i], Root);
    }
 
    print(Root);
    FreeTree(Root);
 
    cin.get();
    return 0;
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.04.2017, 23:18

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

Вставка элемента в заданную позицию, удаление элемента по заданной позиции, поиск заданного элемента
Добавить в класс &quot;Односвязный список&quot; следующие функции: вставка элемента в заданную позицию,...

Удаление элемента (узла) в бинарном дереве
По заданию необходимо в бинарном дереве удалять все элементы равные искомому(как все удалять, я...

Определение глубины заданного элемента на бинарном дереве
Имеется такое задание: Написать рекурсивную функцию, которая определяет глубину заданного...

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

Определить, есть ли в бинарном дереве хотя бы два одинаковых элемента
Задано бинарное дерево. Определить, есть ли в этом дереве хотя бы два одинаковых элемента....

Как будут расположены два одинаковых элемента в бинарном дереве поиска?
допустим у меня есть такие числа : 50, 25, 16, 5 ,5 . Как будут расположены эти пятерки ?


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

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

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