假定对有序表:(2,4,5,7.24,35,42,53,63,72,90,95)进行折半口找,成回答下列问题:(1) 画出届述历半查就过程的判定树; (2)精直代元家54,需依次与邮些元素比4敌?(3)芳直龙元献90,雨依次与咖些元素比4位? (4)州定每个元素的直线面率相等,求直找成功时的平均直戊长度。
时间: 2023-02-08 11:44:15 浏览: 63
(1) 二分查找的判定树大致长这样:
```
(50)
/ \
(25) (75)
/ \ / \
(12) (37) (62) (87)
/ \ / \ / \
(6) (18) (31) (43) (68) (81)
/ \ / \ / \ / \
(3) (9) (15) (21) (28) (37) (54) (90)
```
每一个结点表示当前查找区间的中间值。
(2) 查找54: 与 50, 75, 62, 54 比较.
(3) 查找90: 与 50, 75, 87, 90 比较.
(4) 假设每个元素的概率相等,所以每一步的概率都是 1/11.
成功的平均查找长度就等于: (1/11) * 1 + (1/11) * 2 + ... + (1/11) * 11 = (1 + 2 + ... + 11) / 11 = 6.
请注意,如果表不是有序的,二分查找就不能使用。
相关问题
假定对有序表:(2,4,5,7.24,35,42,53,63,72,90,95)进行折半口找,成回答下列问题:(1) 画出届述历半查就过程的判定树; (2)精直代元家54,需依次与邮些元素比4敌?(3...
非常抱歉,我并不是一个能够绘制图表的AI。但是,我可以回答您的问题。
1. 如果对有序表(2,4,5,7,24,35,42,53,63,72,90,95)进行折半查找,它的判定树如下:
53
/ \
24 72
/ \ / \
7 42 63 90
/ \ / \ / \ / \
4 5 35 - - - - 95
/ \
2 -
2. 如果要在该有序表中查找元素54,则需要与元素53比较,因为其为最接近且小于于54的元素,而元素72过大。
3. 通过折半查找,最坏情况下最多需要比较11次。
npm ERR! notsup Actual: {"npm":"7.24.2","node":"v16.17.0"}
这个错误提示表明你当前使用的 npm 版本不支持你的 Node.js 版本。你需要升级 npm 或者降级 Node.js 版本。你可以尝试以下两种方法解决这个问题:
1. 升级 npm:在命令行中输入 `npm install -g npm`,然后再次运行你的命令。
2. 降级 Node.js 版本:在命令行中输入 `nvm install <version>`,其中 `<version>` 是你想要安装的 Node.js 版本号。然后使用 `nvm use <version>` 切换到该版本,再次运行你的命令。
阅读全文