已知由(60,30,56,78,12,45)序列构成的二叉排序树,其等概率成功查找的平均查找长度为。 A. 15/6 B. 21/6 C. 28/7 D. 21/7
时间: 2023-09-09 08:04:33 浏览: 352
查 找 算 法 的 实 现.docx
### 回答1:
二叉排序树的平均查找长度公式为:ASL = (1/n) * ∑(ni=1)wi,其中n为节点数,wi为第i个节点的深度。
首先,将这些数字按顺序插入二叉排序树中,得到如下树形结构:
```
60
/ \
30 78
/ \ \
12 45 56
```
该二叉排序树共有6个节点,因此n=6。
节点深度为1的只有根节点60,因此w1=1。
节点深度为2的有30和78,因此w2=2+2=4。
节点深度为3的有12、45和56,因此w3=3+3+3=9。
将wi代入公式得到:ASL = (1/6) * (1+4+9+4+3+3) = 28/6 = 14/3 ≈ 4.67。
因此,选项C 28/7为最接近的答案。
### 回答2:
二叉排序树是一种特殊的二叉树,其满足以下性质:对于树中的每一个节点,其左子树中的每个节点的值均小于该节点的值,而其右子树中的每个节点的值均大于该节点的值。
已知由(60,30,56,78,12,45)序列构成的二叉排序树,我们可以按照以下步骤进行等概率成功查找:
1. 从根节点开始,将要查找的值与当前节点的值进行比较。
2. 如果要查找的值等于当前节点的值,则查找成功;如果要查找的值小于当前节点的值,则继续在左子树中查找;如果要查找的值大于当前节点的值,则继续在右子树中查找。
3. 重复步骤2,直到找到要查找的值或者当前节点为空。
根据二叉排序树的性质,我们可以得到以下查找路径的长度:1, 2, 3, 3, 3, 3。
平均查找长度是指在所有可能的查找路径长度中的平均值。对于给定的序列构成的二叉排序树,我们可以计算出所有可能的查找路径长度之和,并除以路径的总数,得到平均查找长度。
总共有6条查找路径,路径长度的总和为1+2+3+3+3+3=15,所以平均查找长度为15/6 = 2.5。
因此,答案为A. 15/6。
### 回答3:
已知二叉排序树的构建过程如下:
1. 首先,将第一个元素60作为根节点插入树中。
2. 然后,依次将后面的元素30、56、78、12、45插入到树中,保持树的有序状态。
构建完毕后,树的结构如下:
```
60
/ \
30 78
/ \
12 56
\ \
45 78
```
对于每一个元素,查找的路径长度等于从根节点到该元素所经过的边的数量。而对于二叉排序树,由于插入的过程中保持有序性,每个元素都有等概率被插入到左子树或者右子树。
根据二叉排序树的结构,每个元素的查找路径长度如下:
- 60的路径长度为1(根节点);
- 30的路径长度为2(根节点-左子节点);
- 56的路径长度为3(根节点-左子节点-右子节点);
- 78的路径长度为2(根节点-右子节点);
- 12的路径长度为3(根节点-左子节点-左子节点);
- 45的路径长度为4(根节点-左子节点-左子节点-右子节点)。
根据等概率成功查找的平均查找长度的定义,平均查找长度等于每个元素查找路径长度的期望值。而每个元素在插入过程中都有等概率被插入到左子树或者右子树,所以每个元素查找路径长度的期望值都是相同的。
因此,平均查找长度等于全部元素查找路径长度的总和除以元素数量。即:(1 + 2 + 3 + 2 + 3 + 4) / 6 = 15 / 6。
因此,答案为A. 15/6。
阅读全文