《数据结构》学习笔记——树

引子

什么是树?
客观世界中许多事物存在层次关系。
例:

	人类社会家谱
	社会组织结构
	图书信息管理

分层次组织在管理上具有更高的效率!

数据管理的基本操作之一:查找。

查找:根据某个给定关键字K,从集合R中重度关键字与K相同的记录。

静态查找:集合中记录是固定的
	没有插入和删除操作,只有查找。
	
动态查找:集合中记录是动态变化的
	除查找,还可能发生插入和删除

静态查找

方法1:顺序查找

顺序查找是一种最基本、直接的查找方法。
它从线性表的一端开始,向另一端逐个取出数据元素的关键字,并与要找的关键字K进行比较,以判断是否存在要找的数据元素。
在这里插入图片描述
顺序查找算法的时间复杂度为 O ( n ) O(n) O(n)

方法2:二分查找

是针对线性表中数据的存放是有序的这一特殊性,而采用的一种有效方法。

二分查找是每次在要查找的数据集合中间取出中间元素关键字 K m i d K_{mid} Kmid与K进行比较,根据比较结果确定是否要进一步查找。当K= K m i d K_{mid} Kmid;否则,将在 K m i d K_{mid} Kmid的左半部分或右半部分继续下一步查找。
以此类推,每步的查找范围都将是上一次的一般,因此,二分查找也常常被称为折半查找。

在这里插入图片描述
二分查找算法具有对数的时间复杂度 O ( l o g n ) O(log n) O(logn)

例: 11个元素的二分查找判定树
在这里插入图片描述

  • 判定树上每个结点需要的查找次数刚好为该结点所在的层数;
  • 查找成功时查找次数不会超过判定树的深度;
  • n个结点的判定树的深度为 [ l o g 2 n log_2^n log2n]+1;’
  • ASL = (4* 4+4* 3+2* 2+1)/11 =3 (ASL 平均成功查找次数)

树的定义、表示和术语

树的定义

树(Tree): n (n>=0)个结点构成的有限集合。
当n=0时,称为空树;
对于任一棵非空树(n>0),它具备以下性质:
1)树中有一个称为“根(Root)”的特殊结点,用 r 表示;
2)其余结点可分为 m(m>0)个互不相交的有限集 T 1 , T 2 , . . . , T m T_1,T_2, ... , T_m T1,

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值