QMHTMY/RustBook

Some typos to be corrected

sukanka opened this issue · 6 comments

简中版 3.6.2 节 59页有 typo
image
高亮部分应为 IntoIter

Section 5.5.1 哈希函数

分组求和法可以求哈希值,平法取中法也可以,这是另一种哈希算法。

此处 平法取中法 应为 平方取中法

另外,部分公式里面的函数名称建议使用 直立体, 如
使用 $\log(n)$ ($\log(n)$) 而不是 $log(n)$ ($log(n)$),
使用 $\mathrm{hash}(n)$ ($\mathrm{hash}(n)$) 而不是 $hash(n)$ ($hash(n)$),
还有 $\mathrm{O}(n)$ ($\mathrm{O}(n)$) 而不是 $O(n)$ ($O(n)$)
image

感谢,我将抽时间更正此开源版本。本书有出版社准备出版了,我重写并增加了非常多内容,代码也大幅优化过,到时候欢迎阅读。

新增一处 p154,
image

fn get_exp<T: Clone + Debug + Display>(bt: Link<T>) -> Sring {

这里 Sring 应为 String, 仓库里对应的代码没有问题

7.5 平衡二叉树 p177
如下语句不通顺。

AVL 树的是普通二叉查找树,唯一区别是树的操作执行方式。

7.5.1 AVL 平衡二叉树 p178
斐波那契数列 $F_0$ 的值应为1,否则 $N(h)=F(h+2)-1$ 的关系式不能成立。
举例:按图里的计算
$N(0)=1$, $F(2)=F(0)+F(1)=1$, $N(0) \neq F(2)-1$
image

8.5.1 图解决字梯问题 p202

代码 typo: (仓库里的代码已修正。)
// word_lader.rs
函数签名应为

- fn build_word_graph(words: &[String]) -> Graph {
+ fn build_word_graph(words: &[String]) -> Graph<String> {
- d.get_mut(&bucket).unwra().push(wd);
+ d.get_mut(&bucket).unwrap().push(wd);

image

8.5.1 图解决字梯问题 p203

此处 uu32 应为 u32

fn world_lader(mut g: Graph<String>, mut start: Vertex<String>,
end: Vertex<String>, len: usize) -> uu32 {}

此处两个函数在上下文中不存在。

start.set_distance(0);
start.set_pred(None);

image

8.7 深度优先搜索 p214

顶点 F 只有一个相邻的顶点 C,但由于 C 是黑色的,没有别的点可以探索,算法已经
到达另一个分支的末尾。因此算法必须回溯并不断将访问过的点标及为黑色。

标及 应为 标记

8.7 深度优先搜索 p219

这幅图少了关于数字的说明,说明在 p221

实线表示连通区域内的搜索路径,虚线表示可连通路径,数字表示搜索的起止时间。

image

9.4.1 布隆过滤器 p239

此处公式有误,应为 $k=-\frac{\ln \epsilon}{\ln2}=-\log_2\epsilon$
image

9.4.2 布谷鸟过滤器 p243

此处 figureprint 应为 fingerprint.
image

9.6 一致性哈希算法 p255

此处 Node 3 应为 Node3Node 4 应为 ** Node4**, 请注意保持一致性。

现在假设结点 Node 3 宕机了,只有 Node2 到 Node3 间的数据项受到影响,它会转存
到结点 Node1 上
...
同样的,如果加入新的机器 Node 4,那么原本属于结点 Node 3 的数据会存储到 Node
4 上。

image