Skip to Main Content
高效能PYTHON程式設計
book

高效能PYTHON程式設計

by Micha Gorelick, Ian Ozsvald
August 2015
Intermediate to advanced content levelIntermediate to advanced
384 pages
7h 42m
Chinese
GoTop Information, Inc.
Content preview from 高效能PYTHON程式設計
320
|
第十一章
Morris 計數器的行為
整數計數器(>=4 個位元組)
Morris 計數器 01 個位元組)
Morris 計數器 11 個位元組)
Morris 計數器 21 個位元組)
迭代
11-3 三個單一位元組的 Morris 計數器 vs. 8 個位元組的整數
這張圖讓你稍微瞭解一下使用 Morris 計數器時的預期誤差,關於誤差行為的更詳細資
訊,請參考線上資料(
http://bit.ly/Morris_error
)。
K-Minimum Values
Morris 計數器中,我們丟失關於插入項目的任何資訊,也就是說,不管我們做的
.add("micha")
或者
.add("ian")
,計數器的內部狀態都是相同的,事實上,這些額外
資訊是有用的,如果使用得當,就能夠幫助我們讓計數器只計算獨特的項目。依此方
式,呼叫
.add("micha")
數千次只會遞增計數器一次。
要實作這項行為,我們將利用雜湊函式(hashing function)的特性(有關雜湊函式的更
深入探討,請參閱第 83 頁的〈雜湊函式與 Entropy〉。
我們想要利用的主要特性是:雜湊函式接受輸入並且
均勻
地散佈它,例如,假設我們有
一個雜湊函式接受字串,並且輸出 0 1 之間的數值,因為該函式是均勻的,那表示,
當我們餵它字串時,得到 0.5 與得到 0.2,或任何其他值的可能性都是相同的。這也表
使用較少的 RAM
|
321
示,如果餵它大量字串值,我們預期這些值會相對均勻地被間隔(spaced
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

流畅的Python

流畅的Python

Luciano Ramalho
手把手教会你linux

手把手教会你linux

桑德.范.乌格特

Publisher Resources

ISBN: 9789863477105