Рассчитай точную стоимость своей работы и получи промокод на скидку 500 ₽
Найди эксперта для помощи в учебе
Найти эксперта
+2
Пример заказа на Автор24
Студенческая работа на тему:
С++ раскрой выпуклого многоугольника методом динамического программирования
Создан заказ №1200582
14 мая 2016

С++ раскрой выпуклого многоугольника методом динамического программирования

Как заказчик описал требования к работе:
Найти минимальную стоимость разреза выпуклого многоугольника, т е, найти минимальную сумму длин не пересекающихся диагоналей. Решать задачу надо двумя способами: 1)методом полного перебора Он заключается в следующем: У нас есть n вершин, значит можно сделать всего n(n-1)/2 диагоналей. Ну там из пер вой во все остальные точки, из второй - во все начиная с третьей и т.д. Дальше берем все возможные n-2 из них (это называется Сочетания, и есть куча алгоритмов, как сгенерировать все возможные сочетания... Ну или можно через бинарный счетчик выкрутить). Когда взяла n-2 диагонали - можно посмотреть и сказать, пересекаются ли в них прямые (ну посмотреть все пары внутри и увидеть, есть ли пересечение). 2) метод динамического программирования: Динамическое программирование — это метод решения оптимизационных задач, в результате которого основная задача разбивается на множество пересекающихся подзадач. Под пересекающимися задачами здесь понимается пересекающееся условие. При этом в алгоритмах динамического программирования одна и та же задача не должна решаться дважды. Решение задачи записывается, и потом используется, если оно необходимо. Динамическое программирование — это решение задач с использованием дополнительной памяти (хранятся промежуточные решения). Процесс разработки алгоритма динамического программирования 1. Описание структуры оптимального решения Здесь предполагают, что оптимальное решение получено, и выводят какие-то его свойства (через решения более маленьких задач) 2. Определение значения, соответствующего оптимальному решению, с помощью рекурентного соотношения Формируется рекурсивная формула (используя выводы пункта 1), которая позволила бы вычислить оптимальное решение через решения более маленьких задач. 3. Вычисление оптимального значения Вычисляется оптимальное решение с помощью указанной рекурсивной формулы. Чтобы вычисление было именно решением с помощью динамического программирования, каждая задача должна решаться только один раз. Для этого существует два способа вычисления: а) Нисходящий с запоминанием В этом случае создается специальная таблица, которая будет хранить данные. А затем реализуется рекурсивный алгоритм. Если при вызове функции поставлена задача, которая еще не решалась, то она решается и ее ответ записывается в таблицу В противном случае задача не решается, а ее ответ просто берется из таблицы б) Восходящий Таблица заполняется последовательно таким образом, чтобы при вычислении каждого значения все необходимые были уже посчитаны. 4. Составление оптимального решения. Оптимальное решение может быть или вычислено по таблице решения подзадач, либо вычисляться параллельно при составлении этой таблицы.
подробнее
Заказчик
заплатил
500 ₽
Заказчик не использовал рассрочку
Гарантия сервиса
Автор24
20 дней
Заказчик принял работу без использования гарантии
17 мая 2016
Заказ завершен, заказчик получил финальный файл с работой
5
Заказ выполнил
nata77
5
скачать
С++ раскрой выпуклого многоугольника методом динамического программирования.docx
2020-10-16 11:22
Последний отзыв студента о бирже Автор24
Общая оценка
4.3
Положительно
Отличный автор. С ответственным подходом к работе. Все выполнил в срок и с отличным результатотм. Всем только рекомендую

Хочешь такую же работу?

Оставляя свои контактные данные и нажимая «Создать задание», я соглашаюсь пройти процедуру регистрации на Платформе, принимаю условия Пользовательского соглашения и Политики конфиденциальности в целях заключения соглашения.
Хочешь написать работу самостоятельно?
Используй нейросеть
Мы создали собственный искусственный интеллект,
чтобы помочь тебе с учебой за пару минут 👇
Использовать нейросеть
Тебя также могут заинтересовать
Разработка и внедрение сайта(на примере конкретной организации))
Дипломная работа
Программирование
Стоимость:
4000 ₽
Диплом яндекс практикум инженер по тестированию
Дипломная работа
Программирование
Стоимость:
4000 ₽
Сделать программу в visual studio на С# wpf
Курсовая работа
Программирование
Стоимость:
700 ₽
. Типы датчиков, обзор и область их применения.
Реферат
Программирование
Стоимость:
300 ₽
Лабораторная работа по дисциплине: "Языки и системы программирования"
Лабораторная работа
Программирование
Стоимость:
300 ₽
Объектно-ориентированное программирование в Python
Курсовая работа
Программирование
Стоимость:
700 ₽
Переписать отчет по практике (Рерайтинг) + дополнить
Отчёт по практике
Программирование
Стоимость:
700 ₽
Классификация программного обеспечения
Реферат
Программирование
Стоимость:
300 ₽
Калькулятор больших чисел
Курсовая работа
Программирование
Стоимость:
700 ₽
История возникновения и развития языка программирования Си (С++) и Java.
Курсовая работа
Программирование
Стоимость:
700 ₽
Разработка программы по подбору комплектующих компьютера.
Курсовая работа
Программирование
Стоимость:
700 ₽
Основные понятия объектно-ориентированного программирования
Курсовая работа
Программирование
Стоимость:
700 ₽
Проектирование сети организации и построение модели в Cisco Packet Tracer
Курсовая работа
Программирование
Стоимость:
700 ₽
Разработка информационной системы управления персоналом в колледже
Курсовая работа
Программирование
Стоимость:
700 ₽
Разработка программного обеспечения на языке C#
Курсовая работа
Программирование
Стоимость:
700 ₽
Распределенная реляционная база данных сети магазинов
Курсовая работа
Программирование
Стоимость:
700 ₽
Основы программирования и реализация программ на языке С#
Курсовая работа
Программирование
Стоимость:
700 ₽
Читай полезные статьи в нашем
Программирование
Программирование является:
Созданием программ занимаются специалисты, которых называют программистами.
К свойствам программ можно отнести:
В настоящее время практически все программы создают, используя языки программирования.
Языки программирования относят к числу искусственных языков и отличают их от естественных ограниченное число слов и очень строгие правила записи команд (операторов). В такого род...
подробнее
История развития языков программирования
История языков программирования начинается с разработки машинного языка: языка логического нуля и единицы. Запись с помощью этого языка была очень сложной и утомительной.
Для облегчения работы программистов в конце 1940-х гг. был разработан язык ассемблер. Вместо двоичных цифр, которые обозначали какую-либо команду, записывались короткие слова или аббревиатуры. Программисты считают ассемблер языко...
подробнее
Выражения в Turbo Pascal V.7.0
Выражения определяют правила вычисления некоторых значений. Выражение состоит из операндов и оператора. Операнды выражения представлены константами и (или) переменными. Операторы, как правило, располагаются между операндами и обозначают действия, которые выполняются над операндами. Приведем в таблице операторы языка Turbo Pascal и математические действия, которые они обозначают.

Когда записываем вы...
подробнее
Контекстное меню в Компас-3D
Под контекстным меню в информатике понимают меню, раскрывающееся в Windows-приложениях щелчком правой кнопки мыши по какому-либо объекту и открывающее при этом список команд, управляющих этим объектом.
Контекстное меню применяется и в системе автоматизированного проектирования Компас-3D LT, поскольку она также является приложением операционной системы Windows.
Контекстное меню предназначено для выз...
подробнее
Программирование
Программирование является:
Созданием программ занимаются специалисты, которых называют программистами.
К свойствам программ можно отнести:
В настоящее время практически все программы создают, используя языки программирования.
Языки программирования относят к числу искусственных языков и отличают их от естественных ограниченное число слов и очень строгие правила записи команд (операторов). В такого род...
подробнее
История развития языков программирования
История языков программирования начинается с разработки машинного языка: языка логического нуля и единицы. Запись с помощью этого языка была очень сложной и утомительной.
Для облегчения работы программистов в конце 1940-х гг. был разработан язык ассемблер. Вместо двоичных цифр, которые обозначали какую-либо команду, записывались короткие слова или аббревиатуры. Программисты считают ассемблер языко...
подробнее
Выражения в Turbo Pascal V.7.0
Выражения определяют правила вычисления некоторых значений. Выражение состоит из операндов и оператора. Операнды выражения представлены константами и (или) переменными. Операторы, как правило, располагаются между операндами и обозначают действия, которые выполняются над операндами. Приведем в таблице операторы языка Turbo Pascal и математические действия, которые они обозначают.

Когда записываем вы...
подробнее
Контекстное меню в Компас-3D
Под контекстным меню в информатике понимают меню, раскрывающееся в Windows-приложениях щелчком правой кнопки мыши по какому-либо объекту и открывающее при этом список команд, управляющих этим объектом.
Контекстное меню применяется и в системе автоматизированного проектирования Компас-3D LT, поскольку она также является приложением операционной системы Windows.
Контекстное меню предназначено для выз...
подробнее
Теперь вам доступен полный отрывок из работы
Также на e-mail вы получите информацию о подробном расчете стоимости аналогичной работы