Open in app
Become a member
Sign in
Tomáš Bouda
Follow
PyDev
Medium member since March 2017
·
Editor of
100 days of algorithms
23 Following
2.5K Followers
·
Stories
Claps
Responses
End of Line.
I wrote the first algorithm on March 25. I wrote the last one today, on July 2. 100 days, 100 algorithms, 100 articles.
Tomáš Bouda
in
100 days of algorithms
Jul 2, 2017
· 1 min read
Day 100: Segmented Eratosthenes sieve
For the 100th algorithm I chose a segmented Eratosthenes sieve for primes up to 10⁹ implemented in Cython. And this time the goal is to…
Tomáš Bouda
in
100 days of algorithms
Jul 2, 2017
· 5 min read
Day 99: Simplex
Linear programming is an area of mathematics that deals with the simplest form of constrained optimization problem — linear program. And…
Tomáš Bouda
in
100 days of algorithms
Jul 1, 2017
· 6 min read
Day 98: Romberg integration
Romberg’s method to find a definite integral combines two formulas, extended trapezoidal rule and Richardson extrapolation, to get a good…
Tomáš Bouda
in
100 days of algorithms
Jun 30, 2017
· 4 min read
Day 97: Locally weighted regression
Locally weighted regression is a very powerful non-parametric model used in statistical learning.
Tomáš Bouda
in
100 days of algorithms
Jun 29, 2017
· 3 min read
Day 96: Floyd-Steinberg
Floyd-Steinberg dithering is a truly magical technique. It is supposed to fool your eye and brain to make you think that you see more than…
Tomáš Bouda
in
100 days of algorithms
Jun 28, 2017
· 3 min read
Day 95: Strongly connected components
We say that two nodes U and V in a directed graph belong to the same strongly connected component [SCC], if there exists path from U to V…
Tomáš Bouda
in
100 days of algorithms
Jun 27, 2017
· 3 min read
Day 94: Earley parser
Yesterday I have implemented an algorithm that directly relates to an implementation of parser for formal grammars. Today I have…
Tomáš Bouda
in
100 days of algorithms
Jun 26, 2017
· 5 min read
Day 93: FIRST & FOLLOW
If you plan to implement own parser for a context-free grammar, construction of FIRST and FOLLOW sets will be the first algorithm you will…
Tomáš Bouda
in
100 days of algorithms
Jun 25, 2017
· 4 min read
Day 92: PCA
Principal Component Analysis [PCA] is incredibly useful when you need [among others] to visualise high-dimensional data. It’s also very…
Tomáš Bouda
in
100 days of algorithms
Jun 24, 2017
· 6 min read
Day 91: Variations
Take all the natural numbers in which each digit occurs at most once and sort them in the ascending order. Given this ordering, write two…
Tomáš Bouda
in
100 days of algorithms
Jun 23, 2017
· 2 min read
Day 90: Simple Nim — AI
I have prepared something cool today. Let’s implement a program with [a simple] artificial intelligence.
Tomáš Bouda
in
100 days of algorithms
Jun 22, 2017
· 6 min read
Day 89: Bipartiteness
Graph is bipartite if the nodes can be split into two disjoint sets such that there is no edge between nodes inside the same set.
Tomáš Bouda
in
100 days of algorithms
Jun 21, 2017
· 2 min read
Day 88: Perlin noise
It has been 35 years since Ken Perlin has discovered a technique today called Perlin noise to generate a fixed gradient noise to achieve a…
Tomáš Bouda
in
100 days of algorithms
Jun 20, 2017
· 3 min read
Day 87: Gray code
Gray code is a binary encoding such that two successive codes must differ only by a single bit.
Tomáš Bouda
in
100 days of algorithms
Jun 19, 2017
· 2 min read
Day 86: Binary heap
Priority queue is a data structure that supports some specialised operations based on priority [or key] of the item.
Tomáš Bouda
in
100 days of algorithms
Jun 18, 2017
· 2 min read
Day 85: Coin success runs
What is the probability to see a success run of 10 heads if we toss a fair coin thousand times?
Tomáš Bouda
in
100 days of algorithms
Jun 17, 2017
· 2 min read
Day 84: Maze generation
Every good story needs a labyrinth. Ariadne and Theseus, The Shining, Harry Potter, … I have used Kruskal’s algorithm for minimum spanning…
Tomáš Bouda
in
100 days of algorithms
Jun 16, 2017
· 2 min read
Day 83: Breaking AES
Two months ago I was breaking OTP cipher and today I am going to focus on a more sophisticated mechanism called padding oracle.
Tomáš Bouda
in
100 days of algorithms
Jun 15, 2017
· 3 min read
Day 82: Flood fill
I remember when I was programming flood fill algorithm on my beloved Commodore 64 in BASIC, and later on 386 in Pascal. The program was so…
Tomáš Bouda
in
100 days of algorithms
Jun 14, 2017
· 2 min read
More Stories