数据结构与算法 第5天(树和二叉树)

树形结构

一对多        只有一个前驱       可以有多个后继

树的定义

基本术语

有序树:树中结点的各子树从左至右有次序(最左边的为第一个孩子)

森林:是 m(m≥0)棵互不相交的树的集合。        一棵树可以看成特殊的森林

二叉树

每个节点最多有两个分支        所有树可以转化成唯一二叉树

二叉树定义

二叉树不是树的特殊情况        差别是子树是否区分

抽象数据类型定义

二叉树性质

从下往上数,每个孩子都有一条边连着双亲,除了根节点。

如果有n个节点 就会有B=n-1条边

从上往下看,每个度为2的节点会产生两条边,度为1的节点会产生一条边

如果有n个节点,就有 B=n2*2+n1条边

总结点数等于,度为2的节点,加度为1的节点,加度为0的节点

综上叶子树n0=n2+1

简单说就是,一个节点为i,则双亲结点为i/2取整,左子树节点为2i,右子树节点为2i+1

特殊形式的二叉树

满二叉树

注:在满二叉树中,从最后一个结点开始,连续去掉任意个结点,即是一棵完全二叉树.

完全二叉树

满二叉树一定是完全二叉树

二叉树顺序存储

按满二叉树的结点层次编号,依次存放二又树中的数据元素。

二叉树链式存储结构

*三叉链表

应用

数据压缩

求解表达式的值

  • 13
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值