Posts by Tag

Coding Patterns: Two Pointers

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

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

Graphs

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 ...

Greedy Algorithms

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

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

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

Binary Search Trees

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

Hash Tables

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...

Search Algorithms

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...

Heaps

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

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

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

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

Strings

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...

Lists

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

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...

Graphs

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

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

Hash Tables

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

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

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

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

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

Lists

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

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...

Graphs

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 ...

Heaps

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

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

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

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

Strings

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...

Lists

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

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...

Coding Patterns: Two Pointers

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

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

Greedy Algorithms

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

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

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

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...

Bit Manipulation Tricks

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...

Binary Computation and Bitwise Operators

If binary code is something only computers can understand, why should you learn about it?

Bit Manipulation Tricks

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...

Binary Computation and Bitwise Operators

If binary code is something only computers can understand, why should you learn about it?

Lists

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 ...

Strings

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...

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

Stacks and Queues

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

Stacks and Queues

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

Binary Tree

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...

Heaps

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...

Search Algorithms

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...

Hash Tables

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...

Hash Tables

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...

Hash Tables

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...

Binary Search Trees

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

Sorting Algorithms with Animations

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

Sorting Algorithms with Animations

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

Dynamic Programming

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...

Greedy Algorithms

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...