Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 0
Регистрация: 25.11.2014
Сообщений: 80
1

Бинарное дерево с обходом в ширину

08.09.2018, 02:45. Показов 539. Ответов 0

Author24 — интернет-сервис помощи студентам
Добрый день.
Помогите реализовать запись в бинарное дерево в ширину и поиск.

При добавлении значений я считаю глубину узла. С реализацией поиск в отсортированном дереве - нет проблем.
А как реализовать добавление в ширину и поиск с такой же нумерацией глубины узла?
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
public class MyTree
    {
        public long? Data { get; private set; }
        public MyTree Left { get; set; }
        public MyTree Right { get; set; }
        public MyTree Parent { get; set; }
        public long Count { get; private set; }
 
        public void Insert(long data)
        {
            if (Data == null)
            {
                Data = data;
                return;
            }
            if (Data > data)
            {
                if (Left == null) Left = new MyTree();
                Insert(data, Left, this);
            }
            else
            {
                if (Right == null) Right = new MyTree();
                Insert(data, Right, this);
            }
 
        }
        private void Insert(long data, MyTree node, MyTree parent)
        {
            if (node.Data == null)
            {
                node.Data = data;
                node.Parent = parent;
                node.Count = node.Parent.Count + 1;
                return;
            }
            if (node.Data > data)
            {
                if (node.Left == null) node.Left = new MyTree();
                Insert(data, node.Left, node);
            }
            else
            {
                if (node.Right == null) node.Right = new MyTree();
                Insert(data, node.Right, node);
            }
        }
public MyTree Find(long data)
        {
            if (Data == data) return this;
            if (Data > data)
            {
                return Find(data, Left);
            }
            return Find(data, Right);
        }
        public MyTree Find(long data, MyTree node)
        {
            if (node == null) return null;
 
            if (node.Data == data) return node; 
 
            if (node.Data > data)
            {
                return Find(data, node.Left);
            }
            return Find(data, node.Right);
        }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.09.2018, 02:45
Ответы с готовыми решениями:

Бинарное дерево. Обход в ширину
Господа, добрый день. Прошу, помогите написать обход в ширину, с обходом в глубину разобрался, а...

Преобразовать идеальное бинарное дерево в бинарное дерево поиска
Всем привет, я создал идельное бинарное дерево и написал к нему функции. Как мне теперь можно...

Бинарное дерево с прямым обходом c++
Здравствуйте. Как вывести корень дерева и, конкретно какой-то элемент из левой или правой ветви?...

Бинарное дерево с прямым обходом
Нашел на просторах вашего форуме код дерева с восходящим порядком прохождения #include...

0
08.09.2018, 02:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.09.2018, 02:45
Помогаю со студенческими работами здесь

Бинарное дерево поиска с симметричным обходом по словам
Добрый вечер! Возникли трудности с реализацией задачи: слова вводятся пользователем, далее...

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

Обход в ширину. Бинарное дерево
Прошу подсказать, как сделать обход в ширину, ибо порывшись на просторах форума, путного ничего не...

Исходное бинарное дерево превратить в бинарное дерево поиска, при этом сохранив его структуру
Помогите, не могу понять!( Нужно исходное бинарное дерево превратить в бинарное дерево поиска, при...


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

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