数据结构之树

 我来答
户如乐9318
2022-06-28 · TA获得超过6598个赞
知道小有建树答主
回答量:2559
采纳率:100%
帮助的人:133万
展开全部
树是n(n>=0)个结点的有限集。n=0是代表是一棵空树;

1、有且仅有一个根节点;
2、当n>1时,其余结点又可以再分为m个有限集,并且分出来的每个有限集本身也是一棵树,称作根的子树。

1、树是一种递归的数据结构;
2、树也是一种分层的结构;
3、除了树的根结点外,其余结点都有且仅有一个前驱结点;
4、树中的所有结点可以有零个或多个后继结点;

树中一个结点的孩子结点个数的和称为度;
树中结点的最大度数称为树的度,即该树是几度树,如果树中结点的最大度数为m,则称该树为m度树;
度为m的树,指的是某棵树中最大度数为m,即其不能为空树,最少要有m+1个结点;
m叉树,指的树中不存在度大于m的树,即可以小于m甚至没有,即其可以为空树,或者退化为链表;

度大于零则称为分支结点,度为零的则称为叶子结点;

层数:是从上往下数的,即树根为第一层,以此类推;
高度:是从下往上数的,即最下面的叶子结点高度为1,以此类推;
深度:也是从上往下的一个概念;

森林是多棵互不相交的树组成的集合,加上一个根结点可变为树,故树与森林和相互转化;

设树的结点数为n,度为m,高度为h,树的总度树为k(总度树其实就是边的个数,因为一个度对应一条边),则有如下性质;
1、n -1 = k(树的结点数减一等于该树的总度数),因为除根外每个结点都只有唯一一个前驱即只有一个边,于是n个结点有n个边根结点没有所以排除;
2、度为m的树中,第i层最多有m^(i-1)个结点;
3、高度为h的m叉树至多有(m^h - 1)/(m -1)个结点,计算方式就是根据2等比数列求和;
4、高度为h的度为m的树至少有h+m-1个结点;
5、有n个结点的m叉树的最小高度为[logm(n(m-1)+1)],根据3取对数可得;

这种存储方式是使用顺序存储的结构,在结点中又增加了一个用于存储父结点的指针,即父结点在数组中的位置,根结点在数组中的位置为0,其父结点值设置为-1;

这种存储方式的优点是查询结点的双亲很方便;
缺点正好相反,查找孩子结点就比较麻烦需要遍历这个数组;

这种存储方法是把顺序表和链表结合在一起的存储方法,这种存储的思想也很重要;
这种存储方式是,用数组顺序存储各个节点,每个结点中又多加一个用于存储孩子结点链表头的指针,即将各孩子在数据存储的位置用链表串起来;

这种方式方便寻找孩子结点,但是需要父结点时需要遍历数组;

这种存储方法又称为二叉树表示法,是用链表表示的存储方法;
该存储方法包含三个字段即,结点值、指向第一个孩子结点的指针(左孩子)、右指针指向兄弟结点;

这种存储方法最大的优势就是,将我们不太熟悉的树结构,转化为熟悉的二叉树结构;
而且查询孩子结点是很方便的,缺点是不容易查找其父结点;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式