数据结构中的树(c语言版)

树:
1.节点的度:节点的度就是这个节点有几个后继结点,这个节点的度就是多少。
2.树的度:这个树形结构中有最多后继的结点的后继数就是树的度。
3.叶节点:就是没有后继结点的结点。
4.结点的层和树的高度:结点的层,从第一层开始,依次加1,就是层,高度就是有几层就是树的高度。
5.有序树和无序树:不考虑结点位置的前后关系的是无序树,反之,考虑结点位置前后关系的是有序树。
6.森林:由一个或多个树组成的就是森林。
二叉树:就是只有两个分支
五个重要性质:
性质1:二叉树第i层上至多有2i-1结点(i>=1).
性质2:高度为k的二叉树至多有2k-1个结点。
性质3 对任意一棵非空二叉树,如果叶结点的个数为n0,度为2的结点的个数为n2,则n0 =n2+1。
性质4 具有n个结点的完全二叉树的深度为【log2 n】(这个代表取整数)+1 。
性质5 对于一棵具有n个结点的完全二叉树,按照层次自上而下,自左而右的顺序给每个结点编号,则对任意编号为i(1≤i≤n)的结点有下列性质:
(1) 若i=1,则结点i是二叉树的根;若i>1,则结点i的双亲结点为。
(2) 若2i<n,则结点i有左孩子,其左孩子的编号为2i,否则i无左孩子,是叶结点。
(3) 若2i+1<n,则结点i有右孩子,其右孩子的编号为2i+1,否则i无右孩子。
完全二叉树的性质:1)设二叉树的高度为K,则所有叶结点都出现在第K层或K~1层(2)地K-1层所有的叶节点都在非终结结点的右端(3)除了第k-1层的最右非终结结点可能有一个或者两个分支外,其余非终结结点都有左右两个分支。
二叉树的实现是通过定义的一个结构体里面包含要保存的数据,左孩子指针,右孩子指针,各个数据元素通过链表的那种结构保存,然后把这个链表放在一个数组中,输入数据的时候输入序号 +数据。
二叉树数据的几种遍历数据的方式:
1.前序:访问的顺序为:根节点,左子树,右子树
例如:

这个二叉树的先序排列就是1 2 4 8 9 5 10 3 6 7
2.中序:访问顺序为:左子树,根节点,右子树
例如:
在这里插入图片描述
这个二叉树的中序排列就是8 4 9 2 5 10 1 3 6 7
3,后序:访问顺序为:左子树,右子树,根节点
例如:
在这里插入图片描述
这个二叉树的后序排列就是8 9 4 10 5 2 6 7 3 1

若有错误,请指正。,谢谢,我们一起进步。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值