码迷,mamicode.com
首页 >  
搜索关键字:递归    ( 18847个结果
树的深度优先与广度优先遍历
简述树的深度优先及广度优先遍历算法,并说明非递归实现。原题出自百度的笔试:当时我看到这个题目的时候,已经完全记不得非递归算法该怎么实现了,后来查阅了一下,要用到两个辅助的数据结构:深度优先遍历--->栈;广度优先遍历--->队列;这里以二叉树为例来实现。import java.util.ArrayD...
分类:其他好文   时间:2014-05-20 02:33:07    阅读次数:425
算法导论基础(第一~五章)
插入排序 最好情况输入数组开始时候就是满足要求的排好序的,时间代价为θ(n); 最坏情况输入数组是按逆序排序的,时间代价为θ(n^2)。 归并排序 归并排序采用了算法设计中的分治法,分治法的思想是将原问题分解成n个规模较小而结构与原问题相似的小问题,递归的解决这些子问题,然后再去合并其结果,得到原问...
分类:其他好文   时间:2014-05-19 22:13:51    阅读次数:284
递归实现数组求和
#includeint sum(int* a, int n){ return (0 == n)?0:(sum(a,n-1) + a[n-1]);}void sum1(int* a, int n,int& s){ if(0 == n) return; else {...
分类:其他好文   时间:2014-05-19 20:33:20    阅读次数:381
<2014 05 16> 线性表、栈与队列——一个环形队列的C语言实现
栈与队列都是具有特殊存取方式的线性表,栈属于先进后出(FILO),而队列则是先进先出(FIFO)。栈能够将递归问题转化为非递归问题,这是它的一个重要特性。除了FILO、FIFO这样的最普遍存取方式外,还有一些扩展的数据结构,如双端队列、双栈、超队列、超栈等,它们是一种扩展与变异结构。 线性表有...
分类:编程语言   时间:2014-05-19 11:36:46    阅读次数:369
笔试算法题(05):转换BST为双向链表 & 查找栈中的最小元素
出题:把二元查找树转变成排序的双向链表。输入一棵二元查找树,要求将该二元查找树按照中序转换成一个排序的双向链表,要求不能创建任何新的节点,只能调整指针的指向;分析:递归的思路,当前节点需要进行的处理,并使用递归调用和返回值将子问题链接起来;首先明白二元查找树的特性,变成有序双向链表后当前根节点的左节...
分类:其他好文   时间:2014-05-19 10:02:49    阅读次数:381
隐马尔可夫模型HMM与维特比Veterbi算法(二)
隐马尔可夫模型HMM与维特比Veterbi算法(二)主要内容:前向算法(Forward Algorithm)穷举搜索( Exhaustive search for solution)使用递归降低问题复杂度前向算法的定义程序实现前向算法举例说明前向算法一、前向算法(Forward Algorithm)...
分类:其他好文   时间:2014-05-18 19:05:07    阅读次数:389
C程序设计的抽象思维-递归过程-砝码称重
【问题】 在狄更斯时代,商人们用砝码和天平来称量商品的重量,如果你只有几个砝码,就只能精确地称出一定的重量。例如,假定只有两个砝码:分别中1kg和3kg,只用1kg的砝码可以称出1kg重量的商品,只用3kg的砝码可以称出3kg重量的商品。1kg和3kg的砝码放在天平同一边可以称出4kg重量的商品,放在不同边可以称出2kg重量的商品。因此利用这两个砝码,我们可以称出重量分别为1、2、3、4kg的商...
分类:其他好文   时间:2014-05-18 18:46:16    阅读次数:227
python中创建和遍历二叉树
python创建二叉树,源代码如下: #!/usr/bin/python class node(): def __init__(self,k=None,l=None,r=None): self.key=k; self.left=l; self.right=r; def create(root): a=raw_input('enter a key:'); if a is '#...
分类:编程语言   时间:2014-05-18 09:27:13    阅读次数:384
python中lambda的另类使用
Lambda挺强大,有兴趣的人看下关于lambda的理论,就清楚邱奇编码的实现了。 带if/else: ( lambda x, y: x if x 科里化: ( lambda x: ( lambda y: ( lambda z: x + y + z )( 1 ) )( 2 ) )( 3 ) 递归: func = lambda n: 1 if n == 0 e...
分类:编程语言   时间:2014-05-18 03:48:34    阅读次数:262
【数据结构】二叉树遍历
先序遍历和中序遍历非递归代码:#include #include using namespace std;typedef struct BinaryTree { int data; struct BinaryTree *rchild, *lchild;}BinaryTree;int cr...
分类:其他好文   时间:2014-05-17 21:56:50    阅读次数:264
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!