Given a binary tree, determine if it is height-balanced.
For this problem, a height-balanced binary tree is defined as a binary tree in which the depth of the two subtrees of every node never diffe...
分类:
其他好文 时间:
2015-08-05 14:59:59
阅读次数:
192
??
#include
#include
#include
#include
int i;
typedef struct node
{
char x;
struct node *lchild;
struct node *rchild;
}tree,*linklist;
void chu(linklist *head)
{
(*head)=NULL;
}
vo...
分类:
其他好文 时间:
2015-08-04 11:21:32
阅读次数:
159
首先来递归算法,简单易懂:#include #include #include typedef struct TreeNode{ char data; struct TreeNode *lchild, *rchild;}TreeNode;void PreOrderTraverse(T...
分类:
编程语言 时间:
2015-07-31 17:40:37
阅读次数:
146
1、二叉树:非线性数据结构,常被用于实现二叉查找树和二叉堆二叉树的第i层至多有2的i-1次方个结点;深度为k的二叉树至多有2^(k)-1个结点;对任何一棵二叉树T。满二叉树完全二叉树平衡二叉树2、二叉树的遍历:遍历是对树的一种最基本的运算,所谓遍历二叉树,就是按一定的规则..
分类:
其他好文 时间:
2015-07-28 14:53:11
阅读次数:
145
剑指offer 24题
题目描述:http://ac.jobdu.com/problem.php?pid=1367
输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。搜索二叉树的特征:
左子树的节点小于根
右子树的节点大于根
任意子树都是搜索二叉树
而后序遍历时,左右根,序列的最后一项总是根。在序列中找到根...
分类:
其他好文 时间:
2015-07-26 17:28:12
阅读次数:
189
二叉树的遍历方法可分为深度优先和广度优先两种,其中深度优先遍历适合使用栈来辅助实现,广度优先则使用队列,因为栈的先进后出和队列的先进先出特点正好符合遍历顺序的要求。深度优先遍历一般又分为前序遍历,中序遍历,后序遍历,对于一颗树来说,前序、中序、后序针对的都是它的根节点,其中前序遍历访问顺序是:根节点-->左节点-->右节点,中序遍历访问顺序是:左节点-->根节点-->右节点,后续遍历访问顺序是:左...
分类:
其他好文 时间:
2015-07-26 15:48:20
阅读次数:
122
二叉树的先序遍历//先序遍历二叉树的递归实现
void PreOrderTraverse(BiTree T)
{
if(T)
{
printf("%2c",T->data);//访问根结点
PreOrderTraverse(T->lchild);//先序遍历左子树
PreOrderTraverse(T->rchild);//先序遍历右子树
}
}
//二叉树的先序遍历...
分类:
其他好文 时间:
2015-07-25 21:34:15
阅读次数:
138
二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有前序、中序以及后序三种遍历方法。因为树的定义本身就是递归定义,因此采用递归的方法去实现树的三种遍历不仅容易理解而且代码很简洁。而对于树的遍历若采用非递归的方法,就要采用栈去模拟实现。在三种遍历中,前序和中序...
分类:
其他好文 时间:
2015-07-25 21:28:11
阅读次数:
133
二叉树的定义:n(n>=0)个结点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根结点和两棵互相不相交的、分别称为根结点的左子树和右子树的二叉树组成。二叉树的特点:
0<=度<=2;
左右子树是有顺序的,不能颠倒;
不论有几棵子树,也要区分它是左子树还是右子树。
二叉树的五种基本形态:
空二叉树;
只有一个根结点;
根结点只有左子树;
根结点只有右子树;
根结点既有左子树又有右子树。
举例...
分类:
编程语言 时间:
2015-07-23 23:48:52
阅读次数:
322