Homepage
Sign in / Sign up
100 days of algorithms
Follow
Day 41: Union-Find
Union-Find is a data structure that is capable of tracking and merging of disjoint sets. As a structure it is very important inside other…
Tomáš Bouda
May 4
Day 40: Counting Ones
Given a stream of zeroes and ones, the goal today is to count number of ones in an arbitrarily large window.
Tomáš Bouda
May 3
Day 39: 4-sum
In 2-sum, 3-sum or 4-sum problems we are searching for a tuples, triplets or quadruplets that sum to zero. Or any other value.
Tomáš Bouda
May 2
Day 38: Burrows-Wheeler
Burrows-Wheeler transform is a text transformation used to improve compression in bzip2 to outperform other state-of-the-art techniques [at…
Tomáš Bouda
May 1
Day 37: Longest Common Subsequence
LCS is an algorithm built in tools you probably use every day. One example for all, Git wouldn’t be able to work the way it works without…
Tomáš Bouda
Apr 30
Day 36: Bulls & Cows
I used to play this game as a kid and never won as far as I can remember. Writing a program to guess the secret and to make computer play…
Tomáš Bouda
Apr 29
Day 35: Median
Median is just a special case of searching for k-th element. For today, let’s just focus on arrays with distinct elements, hence each value…
Tomáš Bouda
Apr 28
Day 34: Aho-Corasick
Aho-Corasick is a string searching algorithm running in linear time and my heart would be broken if I missed this one in the series.
Tomáš Bouda
Apr 26
Day 33: Reservoir sampling
Reservoir sampling is super useful when there is an endless stream of data and your goal is to grab a small sample with uniform probability…
Tomáš Bouda
Apr 26
Day 32: PageRank
Day 32: PageRank
PageRank is an algorithm to determine what is called centrality in egonets. There are other ways to measure centrality, e.g. betweenness…
Tomáš Bouda
Apr 25
About 100 days of algorithms
Latest Stories
Archive
About Medium
Terms
Privacy