Posts by Category

coding-patterns

Coding Patterns: Palindromes (DP)

9 minute read

In Coding Patterns series, we will try to recognize common patterns underlying behind each algorithm question, using real examples from Leetcode.

Coding Patterns: Staircase (DP)

9 minute read

In Coding Patterns series, we will try to recognize common patterns underlying behind each algorithm question, using real examples from Leetcode.

Coding Patterns: Bitwise XOR

7 minute read

In Coding Patterns series, we will try to recognize common patterns underlying behind each algorithm question, using real examples from Leetcode.

Coding Patterns: 0/1 Knapsack (DP)

9 minute read

In Coding Patterns series, we will try to recognize common patterns underlying behind each algorithm question, using real examples from Leetcode.

Coding Patterns: K-way Merge

5 minute read

In Coding Patterns series, we will try to recognize common patterns underlying behind each algorithm question, using real examples from Leetcode.

Coding Patterns: Top K Numbers

3 minute read

In Coding Patterns series, we will try to recognize common patterns underlying behind each algorithm question, using real examples from Leetcode.

Coding Patterns: Modified Binary Search

5 minute read

In Coding Patterns series, we will try to recognize common patterns underlying behind each algorithm question, using real examples from Leetcode.

Coding Patterns: Subsets

3 minute read

In Coding Patterns series, we will try to recognize common patterns underlying behind each algorithm question, using real examples from Leetcode.

Coding Patterns: Two Heaps

9 minute read

In Coding Patterns series, we will try to recognize common patterns underlying behind each algorithm question, using real examples from Leetcode.

Coding Patterns: Cyclic Sort

4 minute read

In Coding Patterns series, we will try to recognize common patterns underlying behind each algorithm question, using real examples from Leetcode.

Coding Patterns: Merge Intervals

3 minute read

In Coding Patterns series, we will try to recognize common patterns underlying behind each algorithm question, using real examples from Leetcode.

Coding Patterns: Fast & Slow Pointers

10 minute read

In Coding Patterns series, we will try to recognize common patterns underlying behind each algorithm question, using real examples from Leetcode.

Coding Patterns: Two Pointers

6 minute read

In Coding Patterns series, we will try to recognize common patterns underlying behind each algorithm question, using real examples from Leetcode.

Coding Patterns: Sliding Window

5 minute read

In Coding Patterns series, we will try to recognize common patterns underlying behind each algorithm question, using real examples from Leetcode.

Back to top ↑

data-structures

Graphs

10 minute read

Graph theory is a branch of Mathematics, first introduced in 1736 when mathematician Carl Ehler introduced Leonhard Euler to the Seven Bridges of Königsberg ...

Binary Search Trees

13 minute read

The Binary Search Tree (BST) is a Binary Tree with the following properties.

Hash Tables

17 minute read

A hash table is an unordered collection of key-value pairs, where each key is unique. Also, they are the most commonly used data structure for implementing a...

Heaps

5 minute read

The word heap is used in a couple of different context in Computer Science. A heap is sometimes refers to an area in the memory which is used for dynamic mem...

Binary Tree

8 minute read

Binary Tree is a classical data structure in Computer Science. It is a non-linear data structure and formally a binary tree is either empty or a root node wi...

Stacks and Queues

4 minute read

Stacks and Queues are two fundamental data structures often used in Computer Science.

Linked Lists

13 minute read

Linked Lists are among the most common data structures used in computer science.

Lists

16 minute read

In Python, when people are talking about arrays, they are generally referring to lists. However, there is a fundamental difference between them which can be ...

Data Structures in Python

1 minute read

Data structures -as their name suggests- are structures which can hold some data together. They are one of the most important fundamental concepts in Compute...

Back to top ↑

algorithms

Greedy Algorithms

4 minute read

A greedy algorithm, as the name suggests, always makes the choice that seems to be the best at that moment. This means that it makes a locally-optimal choice...

Dynamic Programming

9 minute read

Dynamic programming is all about breaking down an optimization problem into simpler sub-problems, and storing the solution to each sub-problem so that each s...

Sorting Algorithms with Animations

25 minute read

Sorting refers to arranging the given data in a particular format and it is one of the most common operations in Computer Science.

Search Algorithms

10 minute read

Searching for items and sorting through items are tasks that we do everyday. If a deck of cards has less than 52 cards, how do you determine which card is mi...

Back to top ↑

computer-science

Bit Manipulation Tricks

12 minute read

If programming is a craft, then it is best learned by imitation and lots of practice. These bit manipulation techniques are little programming tricks that ma...

Back to top ↑

basic-types

Strings

8 minute read

Strings are one of the basic types that are built into the Python interpreter.1 You can create strings (str) by enclosing a sequence of characters within a p...

Back to top ↑