М | Лучше всегда открывать новую тему - мусор, если что, уберут. П.6: "одна тема - один вопрос" |
Сообщение отредактировано: Michael_Rybak -
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Задача коммивояжера, Как реализовать с использованием стека? |
LOVE133 |
Сообщение
#1
|
|||
Гарцующая лошадка Группа: Пользователи Сообщений: 107 Пол: Женский Реальное имя: Любовь Репутация: 0 |
Все нужные темы закрыты, а новую создавать -мусорить понапрасну.Пишу здесь.Все таже задача коммивояжера, метод ветвей и границ.Но етсь одно но - использование стека.Как и куда его можно там запихнуть?
Сообщение отредактировано: Michael_Rybak - |
|||
Michael_Rybak |
Сообщение
#2
|
Michael_Rybak Группа: Пользователи Сообщений: 1 046 Пол: Мужской Реальное имя: Michael_Rybak Репутация: 32 |
Обычная реализация - рекурсивная: начинаем в какой-то точке, отмечаем, что мы в ней были, выбираем куда идти и рекурсивно делаем то же самое. Тебе нужно сделать это же, но заменив рекурсию итерациями - как раз с помощью стека.
В стек помещаешь вершины в порядке обхода. Когда идти дальше некуда, достаешь из стека предыдущую вершину и продолжаешь перебор от нее; если для нее тоже кончились варианты - опять достаешь из стека; когда стек окажется пуст - перебор окончен. |
Текстовая версия | 23.12.2024 19:58 |