社区
VB基础类
帖子详情
谁能给我讲讲二叉树我就给谁分,欢迎讨论
Maxing
2005-06-14 09:24:35
最近看了篇文章,里面有个二叉树的数据结构,想具体了解一下这个方面的内容,包括二叉树结构的优点,如何设计等等都可以。欢迎讨论,2周结贴
...全文
165
7
打赏
收藏
谁能给我讲讲二叉树我就给谁分,欢迎讨论
最近看了篇文章,里面有个二叉树的数据结构,想具体了解一下这个方面的内容,包括二叉树结构的优点,如何设计等等都可以。欢迎讨论,2周结贴
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zjlang
2005-06-15
打赏
举报
回复
怎么搞起数据结构啦?
Maxing
2005-06-15
打赏
举报
回复
树结构在日常是很常见的一种结构,比如族谱。而二叉树又是树的扩展,是最最基本的树结构,也是在算法设计中用的最多的一种。但是,这个结构到底有什么优点?具体在哪里使用?有没有经典的实例呢?麻烦大虾指点
还想懒够
2005-06-15
打赏
举报
回复
知道是怎么回事,但不知道哪里用过。
DawnPine
2005-06-15
打赏
举报
回复
想了解相关理论可以找本离散数学看看
想了解算法及应用可以找本数据结构看看或者找数据结构的习题做做
会让你加深理解
cxianfa
2005-06-14
打赏
举报
回复
上面介绍的很清楚,但是真正的应用它到什么具体的的方还没有过。
DooDu
2005-06-14
打赏
举报
回复
二叉树:
它是结点的有限集合,这个集合或者为空集
或者由一个根及两棵不相交的分别称作这个根
的“左子树”和“右子树”的二叉树组成。
它的每一个结点至多有两棵子树,并且子树
有左右之分,不能随意颠倒。
二叉树不是树的特殊情形,它们是两个概念。
树和二叉树之间最主要的差别是:二叉树中结点的子树要区分为左子树和右子树,即使在结点只有一棵子树的情况下也要明确指出该子树是左子树还是右子树。
满二叉树:如果一棵二叉树的任何结点或者是树叶,或者有两棵非空子树,则此二叉树称作“满二叉树”。
完全二叉树:如果一棵二叉树至多只有最下面的两层结点度数可以小于2,并且最下面一层的结点都集中在该层最左边的若干位置上,则此二叉树称为“完全二叉树”。完全二叉树不一定是满二叉树。
扩充二叉树 :
把原二叉树的结点都变为度数为2的分支结点,也就是说,如果原结点的度数为2,则不变,度数为1,则增加一个分支,度数为0(树叶)增加两个分支。
在扩充的二叉树里,新增加的外部结点的个数比原来的内部结点个数多1。
“外部路径长度”E:在扩充的二叉树里从根到每个外部结点的路径长度之和。
“内部路径长度”I:在扩充的二叉树里从根到每个内部结点的路径长度之和。
E = I + 2n
其中,n是内部结点的个数。
二叉树的性质
性质1. 在非空二叉树的第i层上至多有2i个结点
归纳: i=0, 结点数=1=20 .
假设对于j(0j i), 结点数至多有2j .
对于i=j+1, 结点数至多为 2* 2j=2j+1 .
性质2. 深度为k的二叉树至多有2k+1-1个结点
性质3. 对任何一棵非空二叉树T,如果叶结点数 为n0,
度为2的结点数为n2,则n0=n2+1。
性质4. 具有n个结点的完全二叉树的深度k为log2n .
二叉树的基本运算
创建一棵空二叉树;
判断某棵二叉树是否为空;
求二叉树的根结点,若为空,则返回一特殊值;
求二叉树中某个指定结点的父结点,当指定结点为根时,返回一特殊值;
求二叉树中某个指定结点的左子女结点,当指定结点没有左子女时,返回一特殊值;
求二叉树中某个指定结点的右子女结点,当指定结点没有右子女时,返回一特殊值;
二叉树的周游。
二叉树的周游(Traversing Binary Tree):
按某条搜索路径访问二叉树中的所有结点 ,使得每个结点被访问一次且仅被访问一次。
三种方式:
先根次序 (DLR)
对称序 (LDR)
后根次序 (LRD)
一。递归算法
先根次序
中根次序
后根次序
二。 非递归算法 (用自定义的栈来代替系统的栈)
先根次序
中根次序
后根次序 1 2
TechnoFantasy
2005-06-14
打赏
举报
回复
二叉树的类:
http://www.vbzx.net/ArticleView/vbzx_Article_View_665.asp
程序员怎能不会
二叉树
系列(一)简单了解
二叉树
本文为原创资源,
欢迎
分
享,转载。 本来想直接接着算法系列写选择排序的升级版堆排序的,但是写到完全
二叉树
这一块,我估计很多初学的朋友一脸懵圈,可能脑海中有
二叉树
这个东西的概念,知道是一种数据结构,但实际上是什么,却不知道,那么我们就来讲一讲
二叉树
。
二叉树
系列会后于基础算法系列更新。
二叉树
:
二叉树
是每个结点最多有两个子树的树结构。通常子树被称作...
三遍读书法之第一遍,初识树和
二叉树
3.基本术语为了更清晰看懂,就从下面这张图来理解度:一棵树中结点的最大度数称为该树的度;叶子结点(终端结点):度数为零的节点;双亲(父结点):若一个节点含有子节点,则这个节点称为其子节点的父节点;孩子节点或子节点:一个节点含有的子树的根节点称为该节点的子节点;兄弟节点:具有相同父节点的节点互称为兄弟节点;节点的层次:从根开始定义起,根为第1层,根的子节点为第2层,以此类推;树的高度或深度:树中节点的最大层次;森林:由m(m>=0)棵互不相交的树的集合称为森林;
二叉树
1.
二叉树
的定义。
【算法04】树与
二叉树
(递归思想遍历)
前面我们讲的都是线性表结构,栈、队列等等。今天我们讲一种非线性表结构,树。树这种数据结构比线性表的数据结构要复杂得多,内容也比较多,首先我们先从树(Tree)开始讲起。 树(Tree) 树型结构是一种非线性结构,它的数据元素之间呈现
分
支、
分
层的特点。 1.树的定义 树(Tree)是由n(n≥0)个结点构成的有限集合T,当n=0时T称为空树; 否则,在任一非空树T中: (1)有且仅有一个特定的...
根据前序遍历和中序遍历创建
二叉树
Contents前言四种遍历树的方法简介简介两种快速获得遍历结果的方法根据前序遍历和后续遍历创建树代码实现四种遍历树的方法的代码前言昨天参加了两场笔试,都考了这个题。第一场是根据pre_...
「数据结构」
二叉树
简单吗?重建
二叉树
了解一下~~
树作为一种重要的数据结构,在面试和笔试中都占有一席之地。而
二叉树
则是树中最重要的一份子了,看似简单:不就是一个结点两个左右孩子吗,无限套娃吗!实则不然,什么
二叉树
的镜像,亦或者序列化
二叉树
,都是复杂烧脑的问题,作为菜鸟的我瑟瑟发抖。但是笨鸟先飞,勤能补拙!今天
讲讲
如何根据某
二叉树
的前序和中序遍历结果重建
二叉树
。
VB基础类
7,788
社区成员
197,583
社区内容
发帖
与我相关
我的任务
VB基础类
VB 基础类
复制链接
扫一扫
分享
社区描述
VB 基础类
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章