摘要:
先盗一张图: 正常的汉诺塔问题只要把A柱的所有盘子移动到C柱就好了,可以借助B柱。实现的逻辑如下: 我们在做这一类问题的时候如果从递归的终止条件去考虑的话,会容易很多。 我们就先看递归的终止条件 只剩一个盘子的时候,直接把A柱的盘子移动到C柱即可 否则,我们就要把A柱上的n-1个盘子从A柱借助于C柱 阅读全文
摘要:
如果题目真的要考察宽度优先搜索,那么这类题目往往具有比较大的编码难度,换个说法,就是细枝末节特别多,状态特别复杂。。 剥茧抽丝,这里以一个比较“裸”的BFS作为例子,了解一下实现BFS的一些规范。 直接把题目拿过来: 这道题如果看成了DP的话很容易写记忆化,但是,但是会爆栈。如果不信,你可以写一个递 阅读全文
摘要:
N皇后问题是DFS的代表性问题,其最难的地方就是在判重这里,想明白了怎么判重的话问题就很显然了。 这里给出两份代码,其中第一份代码的效率更好,就是在判重上下了功夫。当然,我记得还有使用位运算进行判重的方法,这里就先不介绍了。 首先是第一份代码,二维数组直接进行判重。 第二份代码的判重思路还是很容易看 阅读全文