|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.01.2014, 20:59 | #1 |
Пользователь
Регистрация: 25.10.2011
Сообщений: 11
|
задача о ранце на С# методом динамического программирования
Доброго времени суток.
Собственно, решение самой задачи о ранце пока не интересует, а интересует создание бинарного дерева вида: Есть зачатки кода, но они как-то пока не работают: Класс tree: Код:
Код:
|
12.01.2014, 21:50 | #2 |
Участник клуба
Регистрация: 03.12.2009
Сообщений: 1,013
|
А можно дерево представить в более свойственном ему виде?
|
12.01.2014, 22:00 | #3 |
Пользователь
Регистрация: 25.10.2011
Сообщений: 11
|
В каком-таком более свойственном?
Наверное, можно, если при этом оно останется деревом, пригодным для решения данной задачи) Суть в том, чтобы потом пропустить это дерево через сеть Хопфилда, которая должна найти путь максимальной длинны, т.е., собственно, решение задачи. Такая вот курсовая работа. |
12.01.2014, 22:11 | #4 | |
Участник клуба
Регистрация: 03.12.2009
Сообщений: 1,013
|
Цитата:
Можете просто нарисовать его в более "читабельной" форме и выложить сюда рисунок? |
|
13.01.2014, 07:15 | #6 |
Участник клуба
Регистрация: 03.12.2009
Сообщений: 1,013
|
Хорошо, я сейчас убегаю просто, ближе к вечеру гляну.
Если никто другой не отзовется, я отпишусь |
14.01.2014, 06:02 | #7 | ||
Участник клуба
Регистрация: 03.12.2009
Сообщений: 1,013
|
Посмотрел.
Цитата:
Цитата:
Тут ничего придумывать не нужно, каждый новый элемент, при добавлении, встает на свое законное место и никак иначе Я думаю Вам объяснять не нужно, по какому принципу заполняются деревья бинарного поиска. У Вас же этот принцип заполнения по каким-то основаниям нарушен, хотелось бы узнать что послужило причиной этому? Можно еще пример самих входных данных? Последний раз редактировалось Базиля; 14.01.2014 в 06:06. |
||
11.04.2014, 11:37 | #8 |
Пользователь
Регистрация: 11.04.2014
Сообщений: 21
|
Вообще, задача интересная. Я даже пытался делать её на С. Правда, я просто строил матрицу N*(Cap+1), где Cap - это ёмкость рюкзака, а N - количество элементов. И на i-м (0<=i<N) шаге для каждого j (0<=j<=Cap) просто смотрел, можно ли добавить при такой (j) ёмкости очередной (i-й) элемент, не ухудшая набор. Если всю эту матрицу сохранить, то обратным ходом можно будет выяснить, какие элементы в оптимальный набор войдут, а какие - нет. Я даже скомпилил прогу, которая берет задачу в виде файла и в другой файл записывает решение. Может, пригодится...
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Обратная задача о ранце (ДП) | El studentos | Общие вопросы C/C++ | 0 | 14.05.2013 07:04 |
Написать программу методом динамического программирования, вычисляющую сумму: 1/1! + 1/2! + 1/3!+ ... | Nik0z | Помощь студентам | 0 | 25.05.2011 18:10 |
Задача о ранце | Natysya | Общие вопросы C/C++ | 28 | 16.02.2011 18:03 |
Задача о ранце | werder_ua | Помощь студентам | 8 | 23.11.2009 13:50 |
Кто-нибудь слышал про задачу динамического программирования??? | Ace Of Spades | Помощь студентам | 2 | 03.03.2008 11:15 |