数据结构
文章平均质量分 77
jl1230jl
这个作者很懒,什么都没留下…
展开
-
求树深度的递归算法
//求树深度的递归算法int Depth(Bitree T){if(!T) return 0;else{m=Depth(T->lchild); n=Depth(T->rchild); return (m>n?m:n)+1; }}//Depth//求二叉树中以值为x的结点为根的子树深度int Get_Sub_Depth(Bitree T, int x){if(转载 2013-09-11 17:28:28 · 1419 阅读 · 0 评论 -
递归与非递归及其相互转换
一、什么是递归递归是指某个函数直接或间接的调用自身。问题的求解过程就是划分成许多相同性质的子问题的求解,而小问题的求解过程可以很容易的求出,这些子问题的解就构成里原问题的解了。二、递归的几个特点1.递归式,就是如何将原问题划分成子问题。2.递归出口,递归终止的条件,即最小子问题的求解,可以允许多个出口。3.界函数,问题规模变化的函数,它保证递归的规模向出口条件靠拢三、递归的转载 2013-09-11 17:23:59 · 798 阅读 · 0 评论 -
二叉树中根到叶子路径中节点和等于给定值的路径
1. 描述输入一个整数和一棵二元树。从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。打印出和与输入整数相等的所有路径。例如输入整数 22 和如下二元树 10 / \ 5 12 / \转载 2013-09-11 17:24:17 · 812 阅读 · 0 评论 -
二叉树的非递归遍历
二叉树的非递归遍历 二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有前序、中序以及后序三种遍历方法。因为树的定义本身就是递归定义,因此采用递归的方法去实现树的三种遍历不仅容易理解而且代码很简洁。而对于树的遍历若采用非递归的方法,就要采用栈去模拟实现。在三种遍历中,前序和中序遍历的非递归算法都很容易实现,非递归后序遍历实现起来相对转载 2013-09-11 17:26:00 · 535 阅读 · 0 评论 -
经典排序算法 – 插入排序Insertion sort
经典排序算法 – 插入排序Insertion sort 插入排序就是每一步都将一个待排数据按其大小插入到已经排序的数据中的适当位置,直到全部插入完毕。 插入排序方法分直接插入排序和折半插入排序两种,这里只介绍直接插入排序,折半插入排序留到“查找”内容中进行。 图1演示了对4个元素进行直接插入排序的过程,共需要(a),(b),(c)三次插入。以下代码仅供参考,欢迎指转载 2013-09-12 14:35:45 · 561 阅读 · 0 评论