mirror of
https://github.com/krahets/hello-algo.git
synced 2024-12-24 04:06:28 +08:00
Compare commits
3 commits
d0e73d6cfd
...
b7ed5f1c11
Author | SHA1 | Date | |
---|---|---|---|
|
b7ed5f1c11 | ||
|
292b107af2 | ||
|
a181f03ed9 |
3 changed files with 3 additions and 3 deletions
|
@ -16,5 +16,5 @@ func TestBubbleSort(t *testing.T) {
|
||||||
|
|
||||||
nums1 := []int{4, 1, 3, 1, 5, 2}
|
nums1 := []int{4, 1, 3, 1, 5, 2}
|
||||||
bubbleSortWithFlag(nums1)
|
bubbleSortWithFlag(nums1)
|
||||||
fmt.Println("冒泡排序完成后 nums1 = ", nums)
|
fmt.Println("冒泡排序完成后 nums1 = ", nums1)
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,7 +50,7 @@
|
||||||
- **插入元素**:通过哈希函数计算桶索引,若发现桶内已有元素,则从冲突位置向后线性遍历(步长通常为 $1$ ),直至找到空桶,将元素插入其中。
|
- **插入元素**:通过哈希函数计算桶索引,若发现桶内已有元素,则从冲突位置向后线性遍历(步长通常为 $1$ ),直至找到空桶,将元素插入其中。
|
||||||
- **查找元素**:若发现哈希冲突,则使用相同步长向后进行线性遍历,直到找到对应元素,返回 `value` 即可;如果遇到空桶,说明目标元素不在哈希表中,返回 `None` 。
|
- **查找元素**:若发现哈希冲突,则使用相同步长向后进行线性遍历,直到找到对应元素,返回 `value` 即可;如果遇到空桶,说明目标元素不在哈希表中,返回 `None` 。
|
||||||
|
|
||||||
下图展示了开放寻址(线性探测)哈希表的键值对分布。根据此哈希函数,最后两位相同的 `key` 都会被映射到相同的桶。而通过线性探测,它们被依次存储在该桶以及之下的桶中。
|
下图展示了开放寻址(线性探测)哈希表的键值对分布。根据此哈希函数,最后两位相同的 `key` 都会被映射到桶中相同位置并产生冲突。而通过线性探测,它们被依次存储在该桶内原冲突位置及其之后的位置中。
|
||||||
|
|
||||||
![开放寻址(线性探测)哈希表的键值对分布](hash_collision.assets/hash_table_linear_probing.png)
|
![开放寻址(线性探测)哈希表的键值对分布](hash_collision.assets/hash_table_linear_probing.png)
|
||||||
|
|
||||||
|
|
|
@ -16,5 +16,5 @@ func TestBubbleSort(t *testing.T) {
|
||||||
|
|
||||||
nums1 := []int{4, 1, 3, 1, 5, 2}
|
nums1 := []int{4, 1, 3, 1, 5, 2}
|
||||||
bubbleSortWithFlag(nums1)
|
bubbleSortWithFlag(nums1)
|
||||||
fmt.Println("泡沫排序完成後 nums1 = ", nums)
|
fmt.Println("泡沫排序完成後 nums1 = ", nums1)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue