10 private links
The algorithm behind Manifold which represents a market for any question, using fake currency.
Learnt about this while researching good'ol binary search
TL;DR
int mid = low + ((high - low) / 2);
or
int mid = (low + high) >>> 1;
An article that presents a few recommendation systems, and the shortfalls/pits you might encounter when implementing them.
- Content-Based
- Collaborative Filtering
- Knowledge-Based
- Hybrid Solutions
Big-O notation, beyond the coding interview
Another method of maze escape, known as Trémaux’s algorithm, works in all cases.
Imagine that, like Hansel and Gretel in the fairy story, you are able to leave a trail of “breadcrumbs” behind you as you navigate your way through the maze and then remember these rules: if you arrive at a junction you have not previously encountered (there will be no crumbs already on the trail ahead), then randomly select a way to go. If that leads you to a junction where one path is new to you but the other is not, then select the unexplored path. And if choosing between a once or twice-used path, choose the path used once, then leave a new, second trail behind you. The cardinal rule is never, ever select a path already containing two trails. This method is guaranteed, eventually, to get you out of any maze.
Algorithm to the multi-armed bandit.
One strategy that has been shown to perform well time after time in practical problems is the epsilon-greedy method. We always keep track of the number of pulls of the lever and the amount of rewards we have received from that lever. 10% of the time, we choose a lever at random. The other 90% of the time, we choose the lever that has the highest expectation of rewards.
A very good article explaining Breadth-First Search
Eller's algorithm creates 'perfect' mazes, having only a single path between any two cells, one row at a time.
Distributed system consistent hashing
Backtracking is an algorithm for finding all (or some) of the solutions to a problem that incrementally builds candidates to the solution(s). As soon as it determines that a candidate cannot possibly lead to a valid solution, it abandons the candidate. Backtracking is all about choices and consequences.
In this article I’m trying to explain the difference/similarities between dynamic programing and divide and conquer approaches based on two examples: binary search and minimum edit distance (Levenshtein distance).
UCT = Upper Confidence bounds applied to Trees
(think HackerNews algorithm)
TL;DR add a bonus to newer content based on uncertainty
Amazing and beautiful.
LOWER YOUR SPEAKERS before starting the video.
Bubble sort is the most sounding one, I love it!
TL;DR MD5 algorithm implementation in JavaScript