From dd8a1adae6417f891f0b22194168e94f54c6983a Mon Sep 17 00:00:00 2001 From: user Date: Sun, 26 Sep 2021 09:37:04 +0800 Subject: [PATCH] =?UTF-8?q?ch6=E4=B8=AD=20=E5=AF=86=E9=92=A5->=E9=94=AE,zh?= =?UTF-8?q?-tw=E7=9A=84ch6=E4=B8=AD=20=E9=87=91=E9=91=B0->=E9=8D=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ch6.md | 2 +- zh-tw/ch6.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ch6.md b/ch6.md index 6894469..7d111eb 100644 --- a/ch6.md +++ b/ch6.md @@ -192,7 +192,7 @@ ​ 也许你想知道为什么我们不使用 ***取模(mod)***(许多编程语言中的%运算符)。例如,`hash(key) mod 10`会返回一个介于0和9之间的数字(如果我们将散列写为十进制数,散列模10将是最后一个数字)。如果我们有10个节点,编号为0到9,这似乎是将每个键分配给一个节点的简单方法。 -​ 模N($mod N$)方法的问题是,如果节点数量N发生变化,大多数密钥将需要从一个节点移动到另一个节点。例如,假设$hash(key)=123456$。如果最初有10个节点,那么这个键一开始放在节点6上(因为$123456\ mod\ 10 = 6$)。当您增长到11个节点时,密钥需要移动到节点3($123456\ mod\ 11 = 3$),当您增长到12个节点时,需要移动到节点0($123456\ mod\ 12 = 0$)。这种频繁的举动使得重新平衡过于昂贵。 +​ 模N($mod N$)方法的问题是,如果节点数量N发生变化,大多数键将需要从一个节点移动到另一个节点。例如,假设$hash(key)=123456$。如果最初有10个节点,那么这个键一开始放在节点6上(因为$123456\ mod\ 10 = 6$)。当您增长到11个节点时,键需要移动到节点3($123456\ mod\ 11 = 3$),当您增长到12个节点时,需要移动到节点0($123456\ mod\ 12 = 0$)。这种频繁的举动使得重新平衡过于昂贵。 ​ 我们需要一种只移动必需数据的方法。 diff --git a/zh-tw/ch6.md b/zh-tw/ch6.md index be44392..646916b 100644 --- a/zh-tw/ch6.md +++ b/zh-tw/ch6.md @@ -192,7 +192,7 @@ ​ 也許你想知道為什麼我們不使用 ***取模(mod)***(許多程式語言中的%運算子)。例如,`hash(key) mod 10`會返回一個介於0和9之間的數字(如果我們將雜湊寫為十進位制數,雜湊模10將是最後一個數字)。如果我們有10個節點,編號為0到9,這似乎是將每個鍵分配給一個節點的簡單方法。 -​ 模N($mod N$)方法的問題是,如果節點數量N發生變化,大多數金鑰將需要從一個節點移動到另一個節點。例如,假設$hash(key)=123456$。如果最初有10個節點,那麼這個鍵一開始放在節點6上(因為$123456\ mod\ 10 = 6$)。當您增長到11個節點時,金鑰需要移動到節點3($123456\ mod\ 11 = 3$),當您增長到12個節點時,需要移動到節點0($123456\ mod\ 12 = 0$)。這種頻繁的舉動使得重新平衡過於昂貴。 +​ 模N($mod N$)方法的問題是,如果節點數量N發生變化,大多數鍵將需要從一個節點移動到另一個節點。例如,假設$hash(key)=123456$。如果最初有10個節點,那麼這個鍵一開始放在節點6上(因為$123456\ mod\ 10 = 6$)。當您增長到11個節點時,鍵需要移動到節點3($123456\ mod\ 11 = 3$),當您增長到12個節點時,需要移動到節點0($123456\ mod\ 12 = 0$)。這種頻繁的舉動使得重新平衡過於昂貴。 ​ 我們需要一種只移動必需資料的方法。