|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.05.2015, 23:29 | #1 |
Пользователь
Регистрация: 10.01.2013
Сообщений: 56
|
Кратчайший путь коня [Haskell]
Нужно найти кратчайший путь коня на шахматной доске от заданного поля до конечного. Нашла код, использующий поиск в ширину, но он не оптимизированный. При задании "mapM_ printMoves $ shortestPath (1,1) (5,5)" , например в WinHugs выдает ошибку ERROR - Garbage collection fails to reclaim sufficient space, а GHCi вообще виснет.
как оптимизировать, чтобы работало для доски размером 8*8? Код:
|
04.05.2015, 09:50 | #2 |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
Могу дать код на Паскале\С++, если надо..
|
04.05.2015, 11:44 | #3 |
Пользователь
Регистрация: 10.01.2013
Сообщений: 56
|
нет, спасибо. паскаль это императивный язык, а хаскел декларативный. у них разные принципы работы.
|
04.05.2015, 12:35 | #4 |
Старожил
Регистрация: 12.11.2010
Сообщений: 8,568
|
Так алгоритм работы-то один и тот же, разве не так?
|
04.05.2015, 13:13 | #5 |
Форумчанин
Регистрация: 25.01.2015
Сообщений: 472
|
MariaD, если оптимально - то это BFS (поиск в глубину). Можно реализовать на основе алгоритма Ли. Все отличия от алгоритма Ли - отсутствие непроходимых клеток, 8 (а не 4) "соседей", 8 других условий для "соседей".
На Розетте был пример поиска пути из лабиринта для Haskell. Теперь у вас ещё один пример... Но зато вместе с идеей, что менять. |
05.05.2015, 11:26 | #6 |
Пользователь
Регистрация: 10.01.2013
Сообщений: 56
|
Всем спасибо, все работает
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Кратчайший путь | ILovePascal | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 11.12.2013 12:26 |
(с++) Кратчайший путь в графе | Uefa | Помощь студентам | 15 | 04.12.2013 15:50 |
Кратчайший путь к точке | W0LF | Общие вопросы Delphi | 3 | 17.05.2011 15:40 |
Путь коня. | xaero93 | Помощь студентам | 4 | 28.11.2010 10:03 |