打算就说说标题的方法,和介绍一下查找成功和非成功二叉树中结点的方法

关键字序列1,2,3,4,5构造而得的二叉排序树

轻松解决不同关键字序列构成的二叉排序树ASL(平均查找长度)(成功)不同问题

ASL=(1,2,3,4,5)/5=3

按关键字3,1,2,5,4构造而得的二叉排序树

轻松解决不同关键字序列构成的二叉排序树ASL(平均查找长度)(成功)不同问题

ASL=(1+2+2+3+3)/5=2.2

很明显第二种序列的ASL要快。至于二叉排序树怎么构成的其实就是根据它的性质(若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值,若它的右子树不空,则右子树上的所有结点的值均大于它的根结点的值)

ASL怎么求

分别分为成功和非成功的情况

成功

每个结点的深度相加除以结点个数

非成功

我拿个书上的例子把
轻松解决不同关键字序列构成的二叉排序树ASL(平均查找长度)(成功)不同问题

首先,先补全二叉树,可以看到有12个非成功的结点,这里我假设每个非成功查找结点概率相同,然后深度为3的非成功结点有4个,深度为4的非成功结点有8个。所以是3*4+4*8

所以该图非成功的ASL=(3*4+4*8)/12

相关文章:

  • 2021-11-17
  • 2021-08-21
  • 2021-11-24
  • 2021-06-21
  • 2021-05-01
  • 2021-09-01
  • 2022-12-23
  • 2021-12-09
猜你喜欢
  • 2021-11-18
  • 2022-12-23
  • 2021-05-21
  • 2022-12-23
  • 2021-09-30
  • 2022-12-23
  • 2021-09-24
相关资源
相似解决方案