Top Stories published by 100 days of algorithms in May of 2017

Day 64: K-clique

Clique in an undirected graph is a subgraph that is complete. Particularly, if there is a subset of k vertices that are connected to each other, we say that graph contains a k-clique.


Day 62: Linked-list cycle detection

The task is to detect and repair a singly linked list that contains cycle. And the solution is fast, very simple and brilliant.

Here’s an idea. Iterate through the list using two pointers — slow and fast. Slow pointer iterates node by node…


Day 63: Zig-zag

Zig-zag scan of a matrix is useful when you transform your 2D data between domains and the transformation tends to accumulate information into top left corner.

An example is JPEG image compression with discrete cosine transform, which accumulates energy to the left [in 1D]…


Day 66: Gram-Schmidt

bonus: QR decomposition

Gram-Schmidt orthogonalization is a method used in linear algebra to produce an orthogonal [or orthonormal] base that generates the same vector space as a linear span of a given set of vectors.


Day 60: Bloom Filter

Bloom filter is a probabilistic data structure based on hashing. It’s very similar to hash table, but differs in several important aspects.

  • only add() and contains() operations are supported (I’ll skip union)
  • contains() may return false

These were the top 10 stories published by 100 days of algorithms in May of 2017. You can also dive into daily archives for May of 2017 by using the calendar at the top of this page.

About
100 days of algorithms
100 days, 100 algorithms - a challenge consisting of many small pieces
More information
Tags
Editors