mirror of
https://github.com/krahets/hello-algo.git
synced 2024-12-26 01:46:27 +08:00
build
This commit is contained in:
parent
1dbe5ba3e1
commit
d16937ea8f
3 changed files with 18 additions and 10 deletions
|
@ -111,10 +111,12 @@ comments: true
|
|||
List<Pair> bucket = buckets.get(index);
|
||||
// 遍历桶,从中删除键值对
|
||||
for (Pair pair : bucket) {
|
||||
if (pair.key == key)
|
||||
if (pair.key == key) {
|
||||
bucket.remove(pair);
|
||||
size--;
|
||||
break;
|
||||
}
|
||||
}
|
||||
size--;
|
||||
}
|
||||
|
||||
/* 扩容哈希表 */
|
||||
|
@ -316,7 +318,7 @@ comments: true
|
|||
if pair.key == key:
|
||||
bucket.remove(pair)
|
||||
self.size -= 1
|
||||
return
|
||||
break
|
||||
|
||||
def extend(self):
|
||||
"""扩容哈希表"""
|
||||
|
@ -422,10 +424,10 @@ comments: true
|
|||
if p.key == key {
|
||||
// 切片删除
|
||||
m.buckets[idx] = append(m.buckets[idx][:i], m.buckets[idx][i+1:]...)
|
||||
m.size -= 1
|
||||
break
|
||||
}
|
||||
}
|
||||
m.size -= 1
|
||||
}
|
||||
|
||||
/* 扩容哈希表 */
|
||||
|
@ -554,12 +556,13 @@ comments: true
|
|||
public void remove(int key) {
|
||||
int index = hashFunc(key);
|
||||
// 遍历桶,从中删除键值对
|
||||
foreach (Pair pair in buckets[index].ToList()) {
|
||||
foreach (Pair pair in buckets[index].ToList()) {
|
||||
if (pair.key == key) {
|
||||
buckets[index].Remove(pair);
|
||||
size--;
|
||||
break;
|
||||
}
|
||||
}
|
||||
size--;
|
||||
}
|
||||
|
||||
/* 扩容哈希表 */
|
||||
|
@ -776,8 +779,13 @@ comments: true
|
|||
int index = hashFunc(key);
|
||||
List<Pair> bucket = buckets[index];
|
||||
// 遍历桶,从中删除键值对
|
||||
bucket.removeWhere((Pair pair) => pair.key == key);
|
||||
size--;
|
||||
for (Pair pair in bucket) {
|
||||
if (pair.key == key) {
|
||||
bucket.remove(pair);
|
||||
size--;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* 扩容哈希表 */
|
||||
|
|
|
@ -15,7 +15,7 @@ comments: true
|
|||
- 不同编程语言采取了不同的哈希表实现。例如,Java 的 `HashMap` 使用链式地址,而 Python 的 `Dict` 采用开放寻址。
|
||||
- 在哈希表中,我们希望哈希算法具有确定性、高效率和均匀分布的特点。在密码学中,哈希算法还应该具备抗碰撞性和雪崩效应。
|
||||
- 哈希算法通常采用大质数作为模数,以最大化地保证哈希值的均匀分布,减少哈希冲突。
|
||||
- 常见的哈希算法包括 MD5, SHA-1, SHA-2, SHA3 等。MD5 常用语校验文件完整性,SHA-2 常用于安全应用与协议。
|
||||
- 常见的哈希算法包括 MD5, SHA-1, SHA-2, SHA3 等。MD5 常用于校验文件完整性,SHA-2 常用于安全应用与协议。
|
||||
- 编程语言通常会为数据类型提供内置哈希算法,用于计算哈希表中的桶索引。通常情况下,只有不可变对象是可哈希的。
|
||||
|
||||
## 6.4.1. Q & A
|
||||
|
|
|
@ -1384,7 +1384,7 @@ comments: true
|
|||
class ListNode {
|
||||
var val: Int // 节点值
|
||||
var next: ListNode? // 后继节点引用(指针)
|
||||
var prev: ListNode? // 前驱节点引用(指针)
|
||||
weak var prev: ListNode? // 前驱节点引用(指针)
|
||||
|
||||
init(val: Int) {
|
||||
self.val = val
|
||||
|
|
Loading…
Reference in a new issue