Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
0 / 0 / 1
Регистрация: 25.10.2015
Сообщений: 7
1

Алгоритм динамического программирования

05.03.2016, 14:05. Показов 3130. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите пожалуйста какой алгоритм применяется в динамическом программировании.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.03.2016, 14:05
Ответы с готовыми решениями:

метод динамического программирования
Даны две последовательности, требуется найти длину их наибольшей общей подпоследовательности....

Как реализовать обратный ход динамического программирования
Имеется задача такого содержания: есть n приборов, каждый прибор имеет m реализаций, каждая...

Задача о рюкзаке методом динамического программирования, исправить код
Помогите разобраться! Написал прогу, которая должна решать задачу о рюкзаке методом Беллмана...

Задача о ранце. Для ее решения использовать метод динамического программирования
Товарищи, помогите пожалуйста с программной реализацией задачи о ранце. Система обработки...

2
Администратор
Эксперт .NET
17019 / 13372 / 5217
Регистрация: 17.03.2014
Сообщений: 27,342
Записей в блоге: 1
06.03.2016, 07:44 2
Lemur4ik, алгоритм описывает действия необходимые для достижения некоторого результата. Так ты не написал алгоритм для какой задачи тебя интересует, то ответ будет - любой подходящий.
0
0 / 0 / 1
Регистрация: 25.10.2015
Сообщений: 7
06.03.2016, 14:09  [ТС] 3
Лучший ответ Сообщение было отмечено Lemur4ik как решение

Решение

Меня интересует алгоритм для двух задач:
1.Задача рюкзак
Код:
Кликните здесь для просмотра всего текста

Решение методом динамического программирования
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
for (i = 1; i <= numsSubjects; i++) // беремо предмети з 1 по numsSubjects
                {
                    for (weightR = 1; weightR <= maxWeight; weightR++)
                    {
                        if (weight[i - 1] <= weightR)
                        {
                            func[weightR, i] = Math.Max(func[weightR, i - 1], func[weightR - weight[i - 1], i - 1] + price[i - 1]);
                        }
                        else
                        {
                            func[weightR, i] = func[weightR, i - 1];
                        }
                    }

2.Нахождение наидлиннейшей возрастающей подпоследовательности
Код:
Кликните здесь для просмотра всего текста

C#
1
2
3
4
5
for (int i=0; i<n; ++i) {
    d[i] = 1;
    for (int j=0; j<i; ++j)
        if (a[j] < a[i])
            d[i] = max (d[i], 1 + d[j]);

Какой алгоритм тут прдеставлен?
0
06.03.2016, 14:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.03.2016, 14:09
Помогаю со студенческими работами здесь

Задача методом динамического программирования
Добрый день. Передо мной стоит решение задачи методом динамического программирования (табличный...

Алгоритм решения задач динамического программирования
Здравствуйте, нужно решить следующую задачу посредством метода динамического программирования....

Основы динамического программирования
Добрый день! Я начал изучать динамическое программирование, но что-то не особо получается. В общем...

Метод динамического программирования
Доброго времени суток! Ребят такая ситуация, на носу сдача диплома, а я ещё не закрыл курсач по...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru