jwalsh / jwalsh/hy-algorithms

Implement streaming algorithms

Open
#37 0 comments 0 reactions 0 assignees View on GitHub
difficulty:medium
Dominant language
Hy
Stars
2
Forks
0
PR merge metrics
No merged PRs in 30d

Description

Create implementations for streaming algorithms:

## Fundamental streaming algorithms:
- Reservoir sampling
- Count-Min sketch
- HyperLogLog
- Bloom filters
- Frequency estimation
- Misra-Gries algorithm
- Morris counting

## Problems to solve:
- Finding frequent elements
- Counting distinct elements
- Estimating quantiles
- Finding heavy hitters
- Random sampling from a stream
- Frequency moments

## Applications:
- Network traffic analysis
- Database query optimization
- Social media analytics
- Sensor data processing

## Requirements:
- Provide theoretical guarantees (error bounds)
- Include space complexity analysis
- Create test cases with large data streams
- Document practical applications

This collection will demonstrate algorithms that can process data in a single pass using limited memory, which is essential for big data applications and real-time analytics.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.