专题二,搜索

做了十几天的搜索,终于有了一定的印象。

搜索有二分法,这是最简单的。就是left right  mid。二分看结果比较靠近那边,然后再缩小范围进行二分。

三分法,就和二次函数一致。

深度搜索,广度搜索,这是搜索这一章的重点。

广度搜索,顾名思义就是广度,二深度搜索则是深度。

专题二,搜索_第1张图片

看图,广度1,2,5,6,9,3,4,7,10,8.是一层一层的搜索,来查找符合要求的,这样的规律与队列的先进先出符合,所以广度搜索一般用queue来做。

而深度 1 2 3 2 4 5 6 7 8 9 10,打破砂锅问到底的搜索方式,一般有两种解法,就是递归法和stack法来寻找自最优解

两者的共同点是,一定要有标记,来避免陷入循环之中,

还有就是方向数组:int direction[4][2] ={{0,-1},{-1,0},{1,0},{0,1}};四方向数组

你可能感兴趣的:(专题二,搜索)