algorithms
Tags: Computers
Sorting Algorithms
 pdqsort  https://github.com/orlp/pdqsort
Kmeans
 Used to find k nonoverlapping 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
 Faulttolerant 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 smallworld graph (HNSW)
 nearest neighbor
 paxos
 physalia  amazon ebs
 quantization/discretization
 reedsolomon encoding
 spark
 trees