搜索
个人见解:目前已知搜索大致分为两类深度优先搜索和广度优先搜索,两个的代码实现难点感觉是因为不懂调用递归的条件和搜索板子的细节点是否注意到
深度(dfs):应该就是从初始状态一直挖到最底层直到不能挖为止,此时就return到上一级换另外一种情况来判断是否可以,所以这里有一个细节的就是需要回溯不然就一直循环下去了。像洛谷书上那些例题就是通过判断能不能放,然后递归,之后再回溯。
广度(bfs):是判断每一步能到达的所有位置然后标记数字,像第一步的话就标记为1,之后再基于标记的再拓宽搜索范围,并且再拓宽搜索范围的时候需要判断有没有被标记过,然后再放到队列当中。广度搜索中通常会用struct来储存信息。在做题的时候有一个染色法感觉还挺好用的。
待会要总结一下洛谷的题......
浙公网安备 33010602011771号