画出在线性表 (a,b,c,d ,e,j,g) 中进行折半查找关键码e的过程。
时间: 2024-05-07 15:22:19 浏览: 15
首先,我们需要确定折半查找的起始点和终止点。由于线性表已经是有序的,我们可以将起始点设为 0,将终止点设为线性表的长度减 1。
第一步,确定中间位置。我们可以通过起始点和终止点的下标计算出中间位置的下标:
```
mid = (0 + 6) / 2 = 3
```
第二步,比较中间位置的关键码和待查找关键码 e 的大小。由于中间位置的关键码是 d,小于 e,所以我们可以将起始点更新为 mid + 1,终止点保持不变。
```
start = mid + 1 = 4
end = 6
```
第三步,再次确定中间位置。这一次,我们可以通过起始点和终止点的下标计算出中间位置的下标:
```
mid = (4 + 6) / 2 = 5
```
第四步,比较中间位置的关键码和待查找关键码 e 的大小。由于中间位置的关键码是 j,大于 e,所以我们可以将终止点更新为 mid - 1,起始点保持不变。
```
start = 4
end = mid - 1 = 4
```
第五步,再次确定中间位置。由于起始点和终止点重合了,我们可以停止查找。此时,我们可以发现中间位置的关键码是 e,即我们成功地找到了待查找的关键码。
综上所述,折半查找关键码 e 的过程如下:
```
start = 0, end = 6
mid = (0 + 6) / 2 = 3
start = mid + 1 = 4, end = 6
mid = (4 + 6) / 2 = 5
start = 4, end = mid - 1 = 4
mid = (4 + 4) / 2 = 4
```
因此,查找关键码 e 的过程中,我们依次比较的关键码依次是 d、j、g、e。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)