Introduction
Status
*This book is currently an ongoing process and chapters might be added / removed in the future*
Currently the following chapters are completed:
Data Structures / Trees
Data Structures / Dynamic Programming
Data Structures / External Data Structures
Metaheuristics
Introduction
In this book you will find important and efficient algorithms used in Computer Science today. This list was created based on the courses that I got during my studies at the University Of Ghent (Belgium), containing 4 major aspects:
Data Structures
Graph Algorithms
String Algorithms
Metaheuristics
These major aspects cover a wide are of algorithms, going from easy tree algorithms to creating inverted file indexes which are used in search engines today.
Please note that this book is created to give a quick overview of the algorithms and how they work. If you want a more in depth explanation of these algorithms, I encourage you to find more material elsewhere.
In the future, I hope to add other important algorithms such as the Sorting algorithms, Dijkstra, ... however because there are so many topics already, I first hope to be able to finish all of those.
Programming Interview
I used this summary to prepare for my interview with Microsoft in February 2017. I mainly focused on the following concepts:
Datastructures:
Linked List
Stack
Queue
Graph
Hash Table (separate chaining, linear probing, hash functions)
Trees (b-tree, bst, heap, prefix-tree (trie), red-black tree)
Algorithms:
DFS
BFS
Dijkstra
Floyd-Warshall
Quick sort
Insertion Sort
Heap Sort
Bucket Sort
Radix Sort
Binary Search
Last updated
Was this helpful?