Browse Code Data structures and algorithms Data structure implementations Priority queue implementation using an array – Priority queue 1 Circular queue implementation using an array – Queue part 2 Priority queue implementation using a sorted array – Priority queue 2 Priority queue implementation using a heap – recursive solution Priority queue implementation using a heap – iterative solution Hash table implementation using array and linked list Implement a doubly linked list class – Linked list part 2 Queue implementation using a linked list – Queue part 1 Implement an array class – Array part 1 1 2 › Trees and variations Binary tree implementation – Binary tree 1 Binary search tree implementation – Binary tree 2 Max-heap implementation – bubble up/down algorithm – Heap part 1 Min-heap implementation – bubble up/down algorithm – Heap part 2 Disjoint set – Union by rank implementation Suffix trie implementation using hashmap – Trie variation 2 Suffix trie implementation using array – Trie variation 1 Trie implementation using hashmap – Trie part 3 Trie implementation using linked list – Trie part 2 1 2 › Graph theory Minimum Spanning Tree using Kruskal’s algorithm – Graph algorithm 1 Graph as adjacency list – Graph implementation 1 Weighted graph as adjacency list – Graph implementation 2 Topological Sort using DFS and Kahn’s algorithm – Graph algorithm 2 Shortest path using Dijkstra’s algorithm – Graph algorithm 3 Fundamental algorithms Merge sort – divide and conquer Quicksort – divide and conquer Bubble sort (2 solutions) – basic and optimized Binary search (2 solutions) – iteration and recursion Selection sort – code and visuals Insertion sort – code and visuals Heapsort (2 solutions) – iteration and recursion Math Factorial number – calculate factorials 2 solutions Prime number – check a number is prime number 3 solutions Catalan number – find nth Catalan number 3 solutions Fibonacci number – find nth fibonacci 4 solutions