码迷,mamicode.com
首页 >  
搜索关键字:递归和循环    ( 44个结果
Subsets II [leetcode] 从获取子集的递归和循环方法说起,解决重复子集的问题
这一题和Permutation II很像,一个是排列一个是组合。 我们理清思路,从最基本的获取子集的方法开始分析: 获取子集总的来说可以用循环或者递归做,同时还可以根据数字对应的binary code得到。 例如s = {x,y,z}可以生成的组合有:x,y,z,xy,yz,xz,xyz,0 第一种思路: 1. 维护一个集合Set(i),包含s[0...i]可生成的所有组合 s...
分类:其他好文   时间:2014-09-27 00:19:18    阅读次数:368
【编程题目】输入一颗二元查找树,将该树转换为它的镜像
第 15 题(树):题目:输入一颗二元查找树,将该树转换为它的镜像,即在转换后的二元查找树中,左子树的结点都大于右子树的结点。用递归和循环两种方法完成树的镜像转换。 例如输入:8/ \6 10/ \ / \5 7 9 11输出:8/ \10 6/ \ / \11 9 7 5定...
分类:其他好文   时间:2014-08-04 21:07:08    阅读次数:264
递归算法时间复杂度分析与改善
递归算法大家都不陌生,当需要重复计算相同问题时,一般可以选择递归和循环两种算法。又因为递归实现起来代码比较简洁,所以通常都会使用递归来解决上述问题。比如斐波那契数列,再比如树的前序、中序、后续遍历算法。 递归算法虽然是有代码简洁这个优点,但是其缺点显著。因为递归函数是在执行过程中调用其自身,所以会占用大量的栈上空间,并且压栈和出栈都是有时间消耗的。所以从这一点上来看,递归的效率是不如循环。除...
分类:其他好文   时间:2014-07-24 12:24:15    阅读次数:438
反转一个链表的两种方法:递归和循环
下面是反转一个链表的两种方法: 一、循环算法 // //反转一个链表,循环算法 // LinkList Reverse(LinkList& head) // { // // if(!head) // // return head; // //此时不用判断head是否为空,如是空的话返回的也是空 // LinkList cur = head; // LinkList hou; //...
分类:其他好文   时间:2014-05-26 03:20:47    阅读次数:211
44条   上一页 1 ... 3 4 5
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!