Learn Algorithms
Data Structures and Programming Problems

Latest

Apr
06
Introduction to Algorithm Analysis (5): HeapSort

Introduction to Algorithm Analysis (5): HeapSort

Last time we branched out from just algorithms and began analyzing a very simple data structure and operations on it.
9 min read
Mar
23
Anagrams

Anagrams

Anagrams have been part of our literary history throughout the centuries. Let's learn more about what they are, how they
3 min read
Mar
11
Introduction to Algorithm Analysis (4): Dynamic Arrays

Introduction to Algorithm Analysis (4): Dynamic Arrays

After having learned about several sorting algorithms and utilizing best-, worst- and average case analysis to gain a better understanding
7 min read
Mar
05
What is Dynamic Programming?

What is Dynamic Programming?

Introduction Dynamic Programming is a programming technique of breaking tasks into smaller tasks and storing them to avoid repeating them.
3 min read
Mar
02
Introduction to Recursion

Introduction to Recursion

What is Recursion? Introduction To understand recursion, you must first understand recursion. Software development is full of recursive jokes like
3 min read
Feb
27
Introduction to Algorithm Analysis (3): Quicksort

Introduction to Algorithm Analysis (3): Quicksort

After carefully examining BubbleSort - an algorithm with pretty much the worst possible reputation - we continue our study of famous sorting methods with an algorithm at the opposite end of the popularity spectrum.
6 min read
Feb
23
What is a Linked List?

What is a Linked List?

This post will look at Linked Lists, what they are and why you might use them. As a starting point, let’s look at the main part first and ask: What is a List?
4 min read
Feb
18
Introduction to Algorithm Analysis (2): Bubble Sort

Introduction to Algorithm Analysis (2): Bubble Sort

(Here is Part1 and Part3) In the first article of this series, we introduced the idea of algorithm analysis and
6 min read
Nov
14
Introduction to Algorithm Analysis (1)

Introduction to Algorithm Analysis (1)

(Here is Part2 and Part3) Prologue: A food delivery disasterImagine you are creating the latest food delivery service that will
3 min read
Jun
10
Reverse String

Reverse String

Reversing a string is another classing programming problem. Let's assume you get as input the string "algorithm", the
2 min read