algorithms
Tags: Computers
Sorting Algorithms
- pdqsort - https://github.com/orlp/pdqsort
K-means
- Used to find k non-overlapping subclusters in a big cluster
- Format
- User specifies the k number of subclusters
- Algorithm chooses k centroids in the feature space for finding k different clusters
- Assigns points relatively nearer to each centroid point
- Repeatedly recomputes the centroids until it has no more changes in position
Marzullo’s Algorithm
-
Fault tolerant algorithm designed for use in distributed systems
-
Algo
- Collects interval estimates from all sources
- Sort and process intervals based on their start times, and then processes each interval in the sorted order
- Each interval the algo tracks the number of overlapping intervals
- Determines the maximum overlap
- Finds the interval where the maximum overlap occurs, and the overlapping region is considered to be the most reliable estimate
- Fault tolerance: inherently tolerates faults
-
Uses
- Clock syncronization
- Sensor fusion
- When multiple sensors measure the same physical quantity
- Fault-tolerant systems
- Provides resilable estimates from potentially faulty inputs
Base64 vs Base62
- Base62 strips the
+
and/
characters, which may trip up browsers
Random Algorithms
Links to this note
- adjacency lists
- algorithms for decision making
- algorithms for optimization
- approximate nearest neighbor
- binary decision diagrams
- broadcasting and multicast
- bully algorithm
- Consistent Hashing
- control theory
- graph based approximate nearest neighbor search (granne)
- graph traversal
- greedy search
- hierarchical navigable small-world graph (HNSW)
- nearest neighbor
- paxos
- physalia - amazon ebs
- quantization/discretization
- reed-solomon encoding
- spark
- trees