对于给定结点的关键字集合 k ={5,7,3,1,9,6,4,8,2,10}, (1)试构造一棵二叉排序树; (2)求等概率情况下的平均查找长度 ASL 。
时间: 2023-08-15 22:08:41 浏览: 245
二叉排序树 平均查找长度的操作
好的,我来回答你的问题。
(1) 按照二叉排序树的构造规则,我们可以先将 5 作为根节点,然后依次插入 7、3、1、9、6、4、8、2、10。最终构造出的二叉排序树如下所示:
```
5
/ \
3 7
/ \ \
1 4 9
\ \ / \
2 6 8 10
```
(2) 平均查找长度 ASL 是指在等概率情况下查找一个元素所需要的平均比较次数。对于一棵有 n 个结点的二叉排序树,其 ASL 可以通过以下公式计算:
ASL = (所有结点的深度之和) / n
因此,我们只需要计算出每个结点的深度,然后将它们相加并除以 10 即可得到 ASL。对于上面所构造的二叉排序树,每个结点的深度如下所示:
```
5(1)
/ \
3(2) 7(2)
/ \ \
1(3) 4(3) 9(3)
\ / / \
2(4)6(4)8(4)10(4)
```
其中括号中的数字表示该结点的深度。因此,所有结点的深度之和为 1+2+2+3+3+3+4+4+4+4=30,将其除以 10,得到 ASL=3。
因此,在等概率情况下,查找一个元素所需要的平均比较次数为 3 次。
阅读全文