递归
demosees
玩玩
展开
-
汉诺塔问题
大一的时候学C语言时,在递归部分讲过汉诺塔问题,但那时只是勉强懂了而已,没有上机实验,在三年后,终于重新拾起了这个问题,并且写了程序跑了跑,不错,感觉挺清楚了。也更加地理解了递归:现在总结一下: 要 将柱A的n个盘子通过柱B全部移到柱C: 步骤可拆分下: 将柱A上面n-1个盘子通过柱C全部移到柱B; 将柱A上1的第n个盘子直接移动到C原创 2017-03-22 22:16:31 · 240 阅读 · 0 评论 -
判断树的同构
来源:大学mooc后的编程题(陈越《数据结构》)03-树1 树的同构 (25分)给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。而图2就不是同构的。图1图2原创 2017-04-09 14:30:00 · 1460 阅读 · 1 评论 -
求一组数中的第K大数,采用递归方法
参考陈越的《数据结构》,用递归的方法实现寻找一组数中的第K大数。使用了动态数组和清屏函数。解决思路: 要想得到第K大的数,用递归的方法拆分 把一组数按照其中一个数m,分成两批。大于m的一批,小于m一批,若m>=k,则在大于m的一批数中去找若m=k-1;则m即为第k大(递归终止条件)若m代码如下:#include#include /* Name:原创 2017-03-23 22:43:55 · 1064 阅读 · 0 评论 -
列出联通集
程序自己测试没问题,为什么通过PTA呢?悲伤06-图1 列出连通集 (25分)给定一个有NN个顶点和EE条边的无向图,请用DFS和BFS分别列出其所有的连通集。假设顶点从0到N-1N−1编号。进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访问邻接点。输入格式:输入第1行给出2个整数NN(0<N\le 100N≤10)和EE,分别是图的原创 2017-05-24 18:39:43 · 467 阅读 · 0 评论