Expand description
Algorithm implementations (bloom filters, etc.) Algorithms module for yimi-rutool
This module provides various algorithms and data structures including:
- Bloom filters (standard and counting)
- Bitmap utilities
- Hash functions
- Parameter optimization utilities
§Features
- Bloom Filters: Memory-efficient probabilistic data structures for set membership testing
- Counting Bloom Filters: Enhanced bloom filters supporting element removal
- Bitmap: Efficient bit manipulation utilities
- Hash Functions: Multiple hash algorithms for optimal distribution
§Quick Start
use yimi_rutool::algorithms::{BloomFilter, BloomFilterBuilder};
// Create a bloom filter with 1000 expected items and 1% false positive rate
let mut bloom = BloomFilterBuilder::new()
.expected_items(1000)
.false_positive_rate(0.01)
.build();
// Add items
bloom.insert("hello");
bloom.insert("world");
// Test membership
assert!(bloom.contains("hello"));
assert!(!bloom.contains("not_exists")); // might be false positiveRe-exports§
pub use bitmap::BitMap;pub use bloom_filter::BloomFilter;pub use bloom_filter::BloomFilterBuilder;pub use bloom_filter::CountingBloomFilter;pub use hash_functions::HashFunction;pub use hash_functions::Hasher;
Modules§
- bitmap
- BitMap utilities for efficient bit manipulation
- bloom_
filter - Bloom Filter implementations
- hash_
functions - Hash function implementations for bloom filters