- 博客(4)
- 收藏
- 关注
原创 递归研究(四) 八皇后问题
皇后冲突国际象棋棋盘(8 x 8)上的皇后(Queen)是个相当厉害的角色, 横着,竖着,斜着都可以攻击.假设两个皇后的坐标分别是(x1, y1),(x2, y2), 要想两个皇后之间不进行攻击(即两个皇后之间无冲突),要满足: x1 != x2 y1 != y2 |x1 - x2| != |y1 - y2| 皇后位置表示用8个元素的数组来表示8个皇后的最终位置,数组的索引直
2015-03-09 23:36:20
275
原创 递归研究(三) 组合问题
Combination从n个不同的元素中任取m(m <= n)个, 若不考虑顺序, 叫做从n个元素中取出m个元素的一个组合. 组合数 = C(n, m) 所有的组合数: C(n, 0) + C(n, 1) + C(n, 2) + … + C(n, n) = 2 ^ n 递归求所有的组合给定一个长度为n的列表L, 求从L中取1个, 取2个… 取n个的所有组合. 可以把这个问题分为三个子问题进
2015-03-09 23:08:11
271
原创 递归研究(二) 全排列问题
Permutation从n个不同的元素中任取m(m <= n)个, 按照一定的顺序排列起来, 叫做从n个元素中取出m个元素的一个排列, 当m=n时,所有的排列情况叫做全排列.递归求全排列思路 若求n个元素的全排列, 可以先求n-1个元素的全排列, 然后针对n-1个全排列的每一种情况T, 把第n个元素依次插入到T的n个间隔中. n=1时,为递归的终结条件. 代码def permut
2015-03-09 22:58:46
293
原创 递归研究(一) 递归入门
递归定义在计算机科学中,程序调用自身的方法称为递归,它通常可以把一个大型复杂的问题层层转化为一个与原问题相似但规模较小的问题来求解. 递归在函数里直接或者间接调用自身,但规模在减小. 有一个明确的递归终结条件. 阶乘 def fac(n): if n == 0: #这里是终结条件 return 1
2015-03-09 22:50:16
450
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人