![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 15.12.2007
Сообщений: 226
|
![]()
Добрый день уважаемые программисты. У меня курсовая и задали такую задачу.
Задача. "Двоичная яблоня". Яблоня называется двоичной, если в каждой точке ветвления ствол или ветвь разделяется надвое. Точки ветвления, корень и концы веток - это узлы дерева. Известна масса каждого участка яблони между двумя смежными узлами. Первоначально в яблоне N узлов, а нужно оставить M. Яблоню можно резать в основаниях ветвей, при этом ветвь и вся часть дерева, растущая выше от разреза, удаляются. Исходные данные: N, M (1<M<N<100) и список из N-1 тройки. Каждая тройка содержит номера узлов, определяющих участок, и его массу (узлы пронумерованы от 1 до N). Требуется найти план подрезки дерева, оставляющий наименьшую суммарную массу оставшихся участков. Например, для исходных данных: N=8, M=3 и набора троек (1,2,19) (2,4,13) (3,2,12) (3,8,17) (3,6,11) и (5,8,10) (8,7,8). Результат может быть следующим: Обрезать ветви: (2,4) (3,8) (3,6) Методы которыми можно выполнить: 1) Ветвей и границ 2) Динамического программирования Дело вот в чем, я не понимаю эту задачу вообще. А методы Ветвей и границ и Динамического программирования оба я знаю. Подскажите кто нить как ее сделать, хоть алгоритм. ![]() ![]() ![]() ![]() ![]() |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 08.01.2010
Сообщений: 205
|
![]()
Вы себе граф-дерево вообще представляете?
Тройки - это (1_номер_узла_графа,2_номер_узла_гр афа,вес_ребра_между_1_и_2) 1_номер_узла и 2_номер_узла связаны ребром, у которого есть вес.
Если помог - кликни на значок весов под аватаром.
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 15.12.2007
Сообщений: 226
|
![]()
Что такое граф я некоторое представление имею. malinoff не могли бы вы на пайнте примерно нарисовать это дерево указав тройки. А то я не могу его представить
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 15.12.2007
Сообщений: 226
|
![]()
никто не встречался с подобной задачей?
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 08.01.2010
Сообщений: 205
|
![]()
http://www.i-u.ru/biblio/archive/ign...p_image008.gif
Если, например, над каждым ребром нарисовать вес, то тройки будут такие: (цель1,цель1.1,вес_ребра_между_цель 1_и_цель1.1), (цель1,цель1.2,вес_ребра_между_цель 1_и_цель1.2), (цель1.1,цель1.1.1,вес_ребра_между_ цель1.1_и_цель1.1.1) и так далее
Если помог - кликни на значок весов под аватаром.
|
![]() |
![]() |
![]() |
#6 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,899
|
![]()
http://ru.wikipedia.org/wiki/Двоичное_дерево читай это и все сопутствующие ссылки
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 15.12.2007
Сообщений: 226
|
![]()
Никто не может помочь?
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
двоичная арифметика | Gen_r_questions | PHP | 9 | 13.04.2011 20:52 |
Двоичная арифметика | Molotok | Помощь студентам | 0 | 26.12.2010 11:27 |
Двоичная арифметика | lilised | Помощь студентам | 0 | 02.12.2010 19:09 |
Двоичная арифметика | mizantrop32 | Общие вопросы C/C++ | 1 | 03.11.2010 16:25 |
двоичная система | terminadoor | Помощь студентам | 1 | 21.09.2008 23:00 |