Module algorithms

Module algorithms 

Source
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 positive

Re-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