Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.73/71: Рейтинг темы: голосов - 71, средняя оценка - 4.73
4 / 4 / 0
Регистрация: 25.02.2019
Сообщений: 13

Реализация дерева поиска список сыновей

25.02.2019, 09:48. Показов 13714. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.
Нужно создать 2-а дерева поиска и хранить их "списком сыновей". В нужно вставить в А используя обратных обход. И вывести результат - А выводить прямым обходом, а В симметричным. Требуется реализовать начальное формирование деревьев А и В, путем добавления некоторой последовательности значений (узлов) в пустое дерево. После чего требуется реализовать заданную операцию над деревьями без использования каких-либо вспомогательных структур (списков, массивов и т.п.), работая только с узлами деревьев А и В. (Не знаю как можно отказаться от списков, если в них храниться структура дерева).

Что такое "список сыновей" я представляю, все как описано на 2-ой миниатюре, но как это реализовать на С++?
Миниатюры
Реализация дерева поиска список сыновей   Реализация дерева поиска список сыновей  
1
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.02.2019, 09:48
Ответы с готовыми решениями:

Реализация дерева поиска
Мне крайне срочно необходимо реализовать дерево поиска на с++(чтобы пользователь сам вводил значения), я и сам конечно пытался сделать это,...

Реализация бинарного дерева поиска
Задача: Реализация бинарного дерева поиска Компилируется нормально, а при запуске выбивает ошибку : "Необработанное исключение по...

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

25
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
05.03.2019, 16:17
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Bonttpol Посмотреть сообщение
Скорее всего, это дополнительные указатели в структуре node.
Bonttpol, - нет. У меня тоже вначале была такая мысль, - использовать ноды и их указатели на ноды, то есть каждый нод можно было left'ом связать со следующим в корневом списке, а right'ом со следующим в уровне. Это были бы ноды уже другой структуры и связь с деревом была бы утеряна. То есть такой список (списков) содержал бы ноды с копиями ключей и указателями на ноды (left, right), переустановленными для поддержания новой структуры. noode_root можно оставить указателем на начало. Это возможный вариант, но я думаю, дерево лучше не трогать. Список сыновей как структурированный набор указателей на дерево, гораздо интереснее (имхо). Во-первых, если данные это не целые числа (key), а объекты тяжелого (по размеру объекта) класса, то копирование таких структур не в радость. Во вторых, выбрав вектор, std::array или любую другую структуру произвольного доступа, Вы получаете логарифмическое время поиска. Кроме того, такая структура гарантирует последовательное размещение, то есть вероятность получить данные часть из которых размещена за пределами кэша данного ядра ничтожна.
Bonttpol, мне эта тема близка и Вы можете (когда будет время и силы) ознакомиться с моей статейкой в блоге:
https://www.cyberforum.ru/blog... g4772.html
Тут всё очень похоже, но (имхо), просто, лучше. Кроме всего оно уникально быстро работает на данных с большим количеством повторов. То есть, если есть задача, находить интервалы повторов (где количества объектов в повторах - тысячи и более), то можно локализовать такие участки, находя начало и конец, за практически, логарифмическое время.
ps
посмотрите мой пост выше, там всё сделано на списке списков
0
-1 / 0 / 0
Регистрация: 29.09.2019
Сообщений: 175
03.10.2020, 20:18
Bonttpol, хотелось бы посмотреть на готовый код, если вы всё-таки его осилили. Буду благодарен
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
04.10.2020, 11:14
Цитата Сообщение от БесподобeH Посмотреть сообщение
Bonttpol, хотелось бы посмотреть на готовый код, если вы всё-таки его осилили. Буду благодарен
Тема не для "списывания". Это же не задача в кулинарном техникуме. Тут всё похоже на задачу профилированного под программирование факультета. И вопрос о списке сыновей сам по себе интересен.
БесподобeH, как вы думаете. Зачем нужно список сыновей?
0
0 / 0 / 0
Регистрация: 10.06.2022
Сообщений: 1
14.12.2022, 18:25
вы все поняли????
0
 Аватар для lemegeton
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
14.12.2022, 22:27
Цитата Сообщение от shoker12397 Посмотреть сообщение
вы все поняли????
Допускаю, что два года назад все всё поняли, кроме, возможно, товарища из поста #22.
1
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
15.12.2022, 18:48
Цитата Сообщение от lemegeton Посмотреть сообщение
Допускаю, что два года назад все всё поняли, кроме, возможно, товарища из поста #22.
Одно из возможных применений такого списка, - сериализация. Когда разраба интересует мгновенное состояние дерева в какой-то момент времени, это нужно документировать каким-то образом. То есть, можно отразить дерево в линейную структуру. Мне не приходилось этого делать, но думаю, решение вполне очевидно. Хотя есть варианты)
Вот пример описания где пара сыновей представляет список (для бинарного дерева).
http://wwwcdl.bmstu.ru/iu7/book1/stage7.htm
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.12.2022, 18:48

Деревья. Список сыновей
Здравствуйте. Я не понимаю зачем нужны деревья с использованием списка сыновей. Не понимаю как они реализовываются и где применяются....

Односвязной список и реализация поиска в нём
Добрый день, возможно мой вопрос будет совсем глупый, но мне ничего в голову не приходит, как реализовать поиск в списке через консоль,...

Реализация бинарного дерева поиска
Есть код, Помогите найти ошибку. using System; namespace BinarySearchTree { public class Node { public...

Реализация двоичного дерева поиска
Вот, собственно, код: #ifndef DICTIONARY_H_INCLUDED #define DICTIONARY_H_INCLUDED #include <string.h> typedef struct...

Реализация дерева цифрового поиска
Собственное, цифровое дерево - это такое дерево, где каждая буква слова располагается на своём уровне. С помощью него можно осуществлять...


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

Или воспользуйтесь поиском по форуму:
26
Ответ Создать тему
Новые блоги и статьи
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru