接着上一个入门专题,可以对基本的DFS和BFS有一个很好的认识和应用。下面在基础之上对搜索专题进行提高篇进行总结。
搜索专题,除了基础的DFS、BFS的应用,还有很多交叉以及深入的专题。众所周知,DFS和BFS除了功能上的差异,还有就是在时间和空间复杂度的侧重点不同,DFS时间复杂度要高一些,BFS空间复杂度要高一些。有利就有弊,针对这些特点有着不少的优化版本。主要包括:双向BFS、迭代加深搜、迭代加宽搜、记忆化搜索、A*、IDA*、启发式搜索等,以及各种剪枝、判重等优化策略。该专题将会一一进行分析以及训练。
【提高专题题解】:
#HDU1372:Knight Moves: 双向BFS,模拟国际象棋马的走法,给出了起点和终点,直接从两点开始搜索,标记相遇则结束。双向BFS的基本应用。
题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=1372
解题报告:http://blog.csdn.net/qinlumoyan/article/details/38097331
#HDU1026:Ignatius and the Princess I: BFS+优先队列+递归打印路径,很纠结的一道题,细心地做就没问题的。要对中间路径进行存储,因此用结构体,要求最小用优先队列来判断,打印路径,直接递归打印。
题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=1026
解题报告:http://blog.csdn.net/qinlumoyan/article/details/39225629
#CDOJ850:方老师开橙卡:BFS+优先队列:数值型搜索,由于要求最小,加入优先队列进行优化。
题目来源:http://www.acm.uestc.edu.cn/#/problem/show/850
解题报告:http://blog.csdn.net/qinlumoyan/article/details/38331593
#HDU1560:DNA sequence:迭代加深搜:不确定DNA序列长度,先将最长的最为迭代深度,再依次迭代加深。
题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=1560
解题报告:http://blog.csdn.net/qinlumoyan/article/details/38141439
#:
题目来源:
解题报告:
未完待更新.......