文章

58

粉丝

253

获赞

1

访问

22.0k

头像
2010年(408)计算机学科专业基础综合试题 - 第41题回答
数据结构
发布于2025年12月3日 17:28
阅读数 28

### 一、关键前提计算
1. **确定散列表长度**:  
   装填因子α = 关键字个数 / 散列表长度(设为m)。  
   关键字共7个,α=0.7,因此m = 7 / 0.7 = 10,即散列表为下标0~9的数组。  
2. **散列函数**:H(key) = (key×3) mod 7,先计算每个关键字的初始哈希地址,再用**线性探测再散列**(冲突时地址+1,直到找到空闲位置)处理冲突。


### 二、构造散列表(问题⑴)
按关键字顺序⟨7,8,30,11,18,9,14⟩依次插入:
1. **key=7**:H(7)=(7×3)mod7=21mod7=0 → 地址0空闲,插入下标0。  
2. **key=8**:H(8)=(8×3)mod7=24mod7=3 → 地址3空闲,插入下标3。  
3. **key=30**:H(30)=(30×3)mod7=90mod7=6 → 地址6空闲,插入下标6。  
4. **key=11**:H(11)=(11×3)mod7=33mod7=5 → 地址5空闲,插入下标5。  
5. **key=18**:H(18)=(18×3)mod7=54mod7=5 → 地址5已被11占用(冲突),探测地址6(被30占用)、地址7(空闲),插入下标7。  
6. **key=9**:H(9)=(9×3)mod7=27mod7=6 → 地址6已被30占用(冲突),探测地址7(被18占用)、地址8(空闲),插入下标8。  
7. **key=14**:H(14)=(14×3)mod7=42mod7=0 → 地址0已被7占用(冲突),探测地址1(空闲),插入下标1。  

最终散列表(下标0~9):  
| 下标 | 0  | 1  | 2  | 3  | 4  | 5  | 6  | 7  | 8  | 9  |
|------|----|----|----|----|----|----|----|----|----|----|
| 关键字 | 7  | 14 | 空 | 8  | 空 | 11 | 30 | 18 | 9  | 空 |


### 三、平均查找长度计算(问题⑵)
#### 1. 查找成功的平均查找长度(ASL成功)
- **定义**:每个关键字...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发