|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.05.2015, 12:47 | #1 |
Пользователь
Регистрация: 22.04.2015
Сообщений: 24
|
Бинарные деревья
Помогите написать программу:
Вершина бинарного дерева содержит ключ, N целых значений и два указателя на потомков. Написать функцию удаления вершины с максимальной суммой N целых значений узла. |
09.05.2015, 16:20 | #2 |
crafter
Форумчанин
Регистрация: 03.09.2011
Сообщений: 127
|
Примерный код:
http://pastebin.com/J7aL01rR Насколько я понял, ключ - какое-то целочисленный объект, значение - список из N целых чисел. В данном примере использован std::vector<int> в качестве значения, но т.к. функции шаблонные, вы можете использовать что-нибудь другое. Также не составит труда переписать все это аккуратнее в виде класса. Небольшое пояснение к коду: вспомогательные функции: add_node(tree, key, value), добавляет в дерево tree, узел с ключом key, и значением value. show - выводит все узлы дерева. find_max - находит ключ, для которого сумма всех элементов std::vector максимальна для дерева. get_min - находит узел с минимальным ключем в дереве, эта функция требуется для работы основной функции remove_node, которая удаляет узел по ключу. Последний раз редактировалось halcyon; 09.05.2015 в 16:22. |
10.05.2015, 10:09 | #3 |
Пользователь
Регистрация: 22.04.2015
Сообщений: 24
|
а можно код без шаблонов, а то я пока с ними не знаком?
|
11.05.2015, 06:29 | #4 |
crafter
Форумчанин
Регистрация: 03.09.2011
Сообщений: 127
|
Значит самое время познакомиться! А вообще избавиться от шаблонности очень просто, нужно убрать все template <> в определениях, и явно типизировать функции и структуру node.
Например, выглядеть это будет примерно так: Код:
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Бинарные деревья | cheef | Помощь студентам | 0 | 30.05.2012 19:37 |
Бинарные деревья | Айс Беби | Помощь студентам | 0 | 27.05.2012 22:38 |
Бинарные деревья | Aleks_90 | Помощь студентам | 0 | 07.06.2009 15:06 |
Бинарные деревья | Марсель059 | Общие вопросы C/C++ | 3 | 20.05.2009 21:47 |
бинарные деревья. | ribka | Помощь студентам | 2 | 30.11.2007 18:13 |