diff --git a/chapter_data_structure/summary.md b/chapter_data_structure/summary.md index 1d5f03972..e81787a0e 100644 --- a/chapter_data_structure/summary.md +++ b/chapter_data_structure/summary.md @@ -4,7 +4,7 @@ comments: true # 3.5.   小结 -## 3.5.1.   快速回顾 +## 3.5.1.   知识回顾 ### 数据结构分类 diff --git a/chapter_hashing/hash_map.md b/chapter_hashing/hash_map.md index f1908bcf3..c8b8dcfdc 100755 --- a/chapter_hashing/hash_map.md +++ b/chapter_hashing/hash_map.md @@ -403,9 +403,11 @@ comments: true 以学生数据 `key 学号 -> value 姓名` 为例,我们可以设计如下哈希函数: $$ -f(x) = x \% 100 +f(x) = x \bmod {100} $$ +其中 $\bmod$ 表示取余运算。 + ![哈希函数工作原理](hash_map.assets/hash_function.png)

Fig. 哈希函数工作原理

@@ -1263,7 +1265,7 @@ $$ ## 7.1.3.   哈希冲突 -细心的你可能已经注意到,**在某些情况下,哈希函数 $f(x) = x % 100$ 可能无法正常工作**。具体来说,当输入的 key 后两位相同时,哈希函数的计算结果也会相同,从而指向同一个 value 。例如,查询学号为 $12836$ 和 $20336$ 的两个学生时,我们得到: +细心的你可能已经注意到,**在某些情况下,哈希函数 $f(x) = x \bmod 100$ 可能无法正常工作**。具体来说,当输入的 key 后两位相同时,哈希函数的计算结果也会相同,从而指向同一个 value 。例如,查询学号为 $12836$ 和 $20336$ 的两个学生时,我们得到: $$ f(12836) = f(20336) = 36 diff --git a/chapter_sorting/radix_sort.md b/chapter_sorting/radix_sort.md index 7d84f50d5..f1c66bd90 100644 --- a/chapter_sorting/radix_sort.md +++ b/chapter_sorting/radix_sort.md @@ -23,10 +23,10 @@ comments: true 下面来剖析代码实现。对于一个 $d$ 进制的数字 $x$ ,要获取其第 $k$ 位 $x_k$ ,可以使用以下计算公式: $$ -x_k = \lfloor\frac{x}{d^{k-1}}\rfloor \mod d +x_k = \lfloor\frac{x}{d^{k-1}}\rfloor \bmod d $$ -其中 $\lfloor a \rfloor$ 表示对浮点数 $a$ 向下取整,而 $\mod d$ 表示对 $d$ 取余。对于学号数据,$d = 10$ 且 $k \in [1, 8]$ 。 +其中 $\lfloor a \rfloor$ 表示对浮点数 $a$ 向下取整,而 $\bmod \space d$ 表示对 $d$ 取余。对于学号数据,$d = 10$ 且 $k \in [1, 8]$ 。 此外,我们需要小幅改动计数排序代码,使之可以根据数字的第 $k$ 位进行排序。