马踏棋盘+贪心启发搜索;第一次接触这么高级的搜索-,-;下一步准备学习双向广搜了;
来源:互联网 发布:开淘宝的保证金在哪退 编辑:程序博客网 时间:2024/06/07 11:26
问题描述就不写了.
算法思想:
基本思想:利用栈实现深搜,每次入栈一个跳点,走到终点或者没有可跳点则退栈一个,继续深搜.
聪明的改进:给这个过程加入一个贪心策略,每次选择周边跳点时, 贪心优先选择一个出口最少的跳点.
这里说的出口是指能够跳到的邻接跳点的数量,当前位于(1,1)的话,可以用好几个跳点,从这些跳点中选出一个这些跳点可选择周边跳点最少的跳点. 贪心的原因据说是因为: 优先选择出口少的点,就可以先把一些遗漏的格子补满, 使得最后剩下的没跳过的点比较多而且密集,这样能最终全跳满的概率就非常大,甚至整个算法只需要入栈64次0回溯直接找到一个路径.
每个栈结点保存了当前点坐标,贪心选择跳点的数组,记录已走过的跳点的计数量,当所有邻接跳点都走过,则出栈,否则继续取没走过的邻接跳点深搜.
代码写的还稍微有点庞杂,不知道对你有没有帮助.
- 马踏棋盘+贪心启发搜索;第一次接触这么高级的搜索-,-;下一步准备学习双向广搜了;
- 广搜搜索 WA
- 【搜索】【广搜模板】
- [搜索]广搜的两道题
- 图 的 深度搜索 之 马踏棋盘
- 栈的应用--马踏棋盘-DFS搜索
- 马踏棋盘(简单广搜)
- 准备solr搭建搜索的学习笔记
- 马踏棋盘--深度优先搜索
- 第一次用不存在的海外版百度的高级搜索
- 小游戏系列算法之五广度优先搜索,双向广搜,八数码,华容道
- [搜索] POJ 3278 Catch that Cow 广搜的讨论
- 广搜-nyoj-隐式图的搜索-三个水杯
- hdu 3004 不错的搜索题(广搜)
- 【搜索-广搜】 迷宫的最短路径
- Lucene .NET 的第一次接触 Lucene PK SQL 2005 模糊搜索
- google 的高级搜索
- 搜索引擎的高级搜索
- oracle 彻底删除
- Vs 2010 新特性
- ORACLE SQL 优化的若干方法
- Flex Chart 技巧 - 移除浮水印
- 【动态规划】【RQ285】麻烦的聚餐
- 马踏棋盘+贪心启发搜索;第一次接触这么高级的搜索-,-;下一步准备学习双向广搜了;
- 给一岁儿子定的家规
- Eclipse快捷键大全
- js获取表格的当前行
- js取url参数
- js去前后空格
- 各种打开新页面
- listbox之间的移动
- FCKeditor使用手册