1 / 1 / 0
Регистрация: 18.10.2014
Сообщений: 5
|
|
1 | |
Бинарное дерево: формирование, отображение, обход, поиск и удаление элементов18.10.2014, 17:18. Показов 21391. Ответов 14
Метки нет Все метки)
(
Написать программу, демонстрирующую работу с динамическими структурами данных и динамической памятью на примере бинарных деревьев.
Входные данные: Файл, хранящий значения узлов будущего дерева. Выходные данные: Файл с результатами обходов дерева. В рамках поставленной задачи необходимо выполнить следующие действия: 1. Формирование бинарного дерева (из файла или с клавиатуры); 2. Вывод дерева на экран, используя библиотеку модуля "GRAPH"; 3. Поиск и включение элемента дерева; 4. Исключение элемента из дерева; 4. Прямой, обратный и симметричный обход дерева; 5. Запись в файл и загрузка из файла. Рассматривались ли такие задачи где-нибудь? или если есть у кого, поделитесь, сдавать через два дня)) Выручайте)
0
|
|
18.10.2014, 17:18 | |
Ответы с готовыми решениями:
14
Бинарное дерево (обход, удаление и вставка) Бинарное дерево. Поиск, вывод и удаление элементов из дерева Бинарное дерево: удаление элементов Бинарное дерево и поиск элементов в нем |
Модератор
9656 / 4976 / 3265
Регистрация: 17.08.2012
Сообщений: 15,476
|
|
19.10.2014, 07:50 | 3 |
Berek, может, Вам в Turbo Pascal, Pascal ABC или в Pascal ABC.net?
0
|
1 / 1 / 0
Регистрация: 18.10.2014
Сообщений: 5
|
|
19.10.2014, 11:43 [ТС] | 4 |
Я уточнил) Оказывается можно делать как на Паскале, так и на Делфи.
0
|
Модератор
9656 / 4976 / 3265
Регистрация: 17.08.2012
Сообщений: 15,476
|
|
19.10.2014, 12:11 | 5 |
0
|
1 / 1 / 0
Регистрация: 18.10.2014
Сообщений: 5
|
|
19.10.2014, 13:14 [ТС] | 6 |
я извиняюсь, предпочтительно на Делфи.
Работу можно выполнять в Delphi на форме без испрользования стандартных классов кроме TForm и компонентов для организации интерфейса. Т.е. как я понял GRAPH это не отсюда)
0
|
Модератор
9656 / 4976 / 3265
Регистрация: 17.08.2012
Сообщений: 15,476
|
|
19.10.2014, 14:22 | 7 |
0
|
13097 / 5878 / 1706
Регистрация: 19.09.2009
Сообщений: 8,808
|
||||||
19.10.2014, 19:59 | 8 | |||||
![]() Решение
Например, здесь: Составить программу вывода всех листьев бинарного дерева
Реализовано: - Ввод бинарного дерева и ввод бинарного дерева двоичного поиска. Ввод осуществляется с клавиатуры. - Обход дерева в прямом направлении. Для реализации обратного обхода надо поменять местами пару строчек. - Распечатка дерева в текстовом виде. Добавлено через 4 минуты В дополнение к коду по ссылке: - Функция подсчёта узлов с заданным значением. Перефразируя - это функция поиска узлов дерева.
Как должно выполняться включение/исключение элемента, зависит от того - является ли дерево двоичным деревом поиска.
1
|
1 / 1 / 0
Регистрация: 18.10.2014
Сообщений: 5
|
|
19.10.2014, 22:13 [ТС] | 9 |
Спасибо большое за помощь, проблема в том, что никогда раньше с делфи не работал) Большой опыт работы только с джавой. Тут, я так понимаю есть только процедуры для работы с данными, но когда я пытаюсь их связать со своим интерфейсом... вылазят многочисленные проблемы. А сейчас после любого изменения кода программа запускается, но на любое мое действие выскакивает ошибка
Access violation at address 00454292 in module. Read of address 00000004
0
|
13097 / 5878 / 1706
Регистрация: 19.09.2009
Сообщений: 8,808
|
|
20.10.2014, 11:59 | 10 |
Что за "процедуры для работы с данными"? И что подразумевается под интерфейсом? Если имеется в виду интерфейс ООП, то нужно создать класс и реализовать в нём нужный интерфейс. Если это каким-то образом может быть обосновано в данной задаче.
Чтобы разобраться в причинах надо посмотреть участок кода, который приводит к ошибке.
0
|
13097 / 5878 / 1706
Регистрация: 19.09.2009
Сообщений: 8,808
|
||||||
20.10.2014, 14:54 | 11 | |||||
Ввод дерева с клавиатуры; загрузка из файла, сохранение в файл; прямой, обратный, симметричный обход дерева (реализовано в распечатке), поиск и подсчёт узлов, освобождение памяти.
Добавлено через 4 минуты Включение/исключение узла дерева и добавление узлов зависит от вида дерева - "обыкновенное" двоичное или двоичное дерево поиска.
4
|
1 / 1 / 0
Регистрация: 18.10.2014
Сообщений: 5
|
|
20.10.2014, 20:59 [ТС] | 12 |
Большое спасибо за развернутый ответ на мою тему) когда получится что-нибудь надо будет выложить куда-нибудь исходники, потому что я таких в свободном доступе на нашел... конечно может я плохо искал...
1
|
Cyborg Drone
|
20.10.2014, 22:06
#13
|
Не по теме: Berek, в эту тему и выкладывайте. По правилам форума, если Вы нашли ответ на вопрос самостоятельно, его нужно опубликовать: если кто-то в будущем будет искать ответ, в этом случае он его, возможно, найдёт.
0
|
13097 / 5878 / 1706
Регистрация: 19.09.2009
Сообщений: 8,808
|
|
20.10.2014, 22:16 | 14 |
Berek, всё-таки, похоже, что в задании имеется в виду двоичное дерево поиска. Например:
Здесь говорится, что в файле должны храниться значения узлов и не говорится о хранении структуры дерева. Такое возможно в случае двоичного дерева поиска. И включение/исключение элементов - такое действие, возможно, больший интерес имеет для двоичного дерева поиска.
0
|
32 / 22 / 12
Регистрация: 18.11.2017
Сообщений: 165
|
|
04.12.2018, 12:33 | 15 |
У меня вопрос. Когда мы дошли до элемента, ссылающего на nil, как выводить элементы на рекурсивном возврате? Т.е:
||||||||8 ||||||4|||10 ||||2 ||1||||3 Ваша программа выведет : 8 4 2 1 3 10 А я хочу : 8 4 2 1 2 3 2 4 8 10 8
0
|
04.12.2018, 12:33 | |
Помогаю со студенческими работами здесь
15
Бинарное дерево: поиск суммы всех элементов Бинарное дерево. Обход в ширину
Бинарное Дерево(обход дерева) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |