将元素序列{18, 23, 4, 26, 31, 33, 17, 39}按顺序插入一个初始为空的、大小为13的散列表中。散列函数为:h(key)=key%13,采用线性探测法处理冲突。问:当第一次发现有冲突时,散列表的装填因子大约是多少?
时间: 2023-04-22 14:05:18 浏览: 455
将元素序列插入散列表的过程如下:
1. 18 % 13 = 5,将18插入散列表的第5个位置。
2. 23 % 13 = 10,将23插入散列表的第10个位置。
3. 4 % 13 = 4,将4插入散列表的第4个位置。
4. 26 % 13 = ,将26插入散列表的第个位置。
5. 31 % 13 = 8,将31插入散列表的第8个位置。
6. 33 % 13 = 7,将33插入散列表的第7个位置。
7. 17 % 13 = 4,发现冲突,采用线性探测法,将17插入散列表的第5个位置。
8. 39 % 13 = ,发现冲突,采用线性探测法,将39插入散列表的第1个位置。
最终散列表的状态为:[26, 39, 4, 18, 17, 23, 33, 31, None, None, 10, None, None]
其中,装填因子为已插入元素个数/散列表大小,即8/13,约为.62。
相关问题
将元素序列{18,23,11,20,2,7,27,33,42,15}按顺序插入一个初始为空的、大小为11的散列表中。散列函数为:h(key)=key%11,采用线性探测法处理冲突。问:当第一次发现有冲突时,散列表的装填因子大约是多少?
将元素序列插入散列表的过程如下:
1. 18 % 11 = 7,散列表第7个位置为空,将18插入该位置。
2. 23 % 11 = 1,散列表第1个位置为空,将23插入该位置。
3. 11 % 11 = ,散列表第个位置为空,将11插入该位置。
4. 20 % 11 = 9,散列表第9个位置为空,将20插入该位置。
5. 2 % 11 = 2,散列表第2个位置为空,将2插入该位置。
6. 7 % 11 = 7,散列表第7个位置已被占用,采用线性探测法,从第8个位置开始查找,直到找到一个空位置,将7插入该位置。
7. 27 % 11 = 5,散列表第5个位置为空,将27插入该位置。
8. 33 % 11 = ,散列表第个位置已被占用,采用线性探测法,从第1个位置开始查找,直到找到一个空位置,将33插入该位置。
9. 42 % 11 = 10,散列表第10个位置为空,将42插入该位置。
10. 15 % 11 = 4,散列表第4个位置为空,将15插入该位置。
此时散列表已经被填满,装填因子为10/11≈.91,即装填因子大约为.91。
将关键字序列(9,1,23,14,55,20,84,27)顺序依次插入初始为空的二叉排序树
好的,我来回答你的问题。将这个关键字序列依次插入初始为空的二叉排序树,插入的顺序如下:
1. 将 9 插入根节点。
2. 将 1 插入根节点的左子树。
3. 将 23 插入根节点的右子树。
4. 将 14 插入节点 1 的右子树。
5. 将 55 插入节点 23 的右子树。
6. 将 20 插入节点 14 的右子树。
7. 将 84 插入节点 55 的右子树。
8. 将 27 插入节点 23 的左子树。
最终的二叉排序树如下所示:
```
9
/ \
1 23
/ \
14 55
/ \
27 84
/
20
```
需要注意的是,二叉排序树的插入顺序和二叉树的插入顺序不同,二叉排序树的每个节点的左子树都比该节点小,右子树都比该节点大。