这几天开始学习了搜索,搜索感觉只要理解了工作原理,其实还是挺简单。但是难就难在怎样模拟搜索过程,怎样选择深搜与广搜。一般来说寻找最短路径选择广搜,至于深搜没有太深的理解,一直弄不清楚回溯是怎样回溯的。最然知道深搜的工作原理,但是推代码的运行过程就不行了,应该是我还没有理解透深搜。相比之下广搜理解起来就比较就简单了,就是在一个状态下,延伸出以下所有的状态直到结束。以此往复,直到找到想要的结果或者执行到浏览完所有的状态。
再者就是二分查找算法了,以前曾经学过利用二分算法查找排好序的数,但现在看来只是最简单的利用。现在学习了利用二分解决切绳子和分披萨等问题。这些问题我感觉也是一种动态推理,从最小的状态开始一直到上限,在这个范围里查找最适合条件的解题方案。
现在掌握的程度大约就是这样,等明天运动会结束,留下来两天好好学习二分。