mirror of
https://github.com/TheAlgorithms/Python.git
synced 2025-02-28 03:48:38 +00:00
estimated error
This commit is contained in:
parent
28e66913b0
commit
2fd71965f1
@ -13,7 +13,7 @@ Initially the filter contains all zeros:
|
|||||||
'00000000'
|
'00000000'
|
||||||
|
|
||||||
When an element is added, two bits are set to 1
|
When an element is added, two bits are set to 1
|
||||||
since there are 2 hash functions:
|
since there are 2 hash functions in this implementation:
|
||||||
>>> b.add("Titanic")
|
>>> b.add("Titanic")
|
||||||
>>> b.bitstring
|
>>> b.bitstring
|
||||||
'01100000'
|
'01100000'
|
||||||
@ -35,10 +35,16 @@ False
|
|||||||
'00011000'
|
'00011000'
|
||||||
>>> "Interstellar" in b
|
>>> "Interstellar" in b
|
||||||
False
|
False
|
||||||
|
>>> b.format_hash("Interstellar")
|
||||||
|
'00000011'
|
||||||
>>> "Parasite" in b
|
>>> "Parasite" in b
|
||||||
False
|
False
|
||||||
|
>>> b.format_hash("Parasite")
|
||||||
|
'00010010'
|
||||||
>>> "Pulp Fiction" in b
|
>>> "Pulp Fiction" in b
|
||||||
False
|
False
|
||||||
|
>>> b.format_hash("Pulp Fiction")
|
||||||
|
'10000100'
|
||||||
|
|
||||||
but sometimes there are false positives:
|
but sometimes there are false positives:
|
||||||
>>> "Ratatouille" in b
|
>>> "Ratatouille" in b
|
||||||
@ -46,8 +52,14 @@ True
|
|||||||
>>> b.format_hash("Ratatouille")
|
>>> b.format_hash("Ratatouille")
|
||||||
'01100000'
|
'01100000'
|
||||||
|
|
||||||
|
The probability increases with the number of added elements
|
||||||
>>> b.estimated_error_rate()
|
>>> b.estimated_error_rate()
|
||||||
0.140625
|
0.140625
|
||||||
|
>>> b.add("The Goodfather")
|
||||||
|
>>> b.estimated_error_rate()
|
||||||
|
0.390625
|
||||||
|
>>> b.bitstring
|
||||||
|
'01111100'
|
||||||
"""
|
"""
|
||||||
from hashlib import md5, sha256
|
from hashlib import md5, sha256
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user