Browse Code Data structures and algorithms Data structure implementations Circular queue implementation using an array – Queue part 2 Priority queue implementation using a heap – recursive solution Priority queue implementation using a heap – iterative solution Priority queue implementation using a sorted array – Priority queue 2 Priority queue implementation using an array – Priority queue 1 Queue implementation using a linked list – Queue part 1 Implement a stack class using a linked list – Stack part 2 Implement a stack class using an array – stack part 1 Implement a circular linked list class – Linked list part 3 1 2 › Trees and variations Disjoint set – Union find – a forest Binary search tree with parent pointer – Binary tree 3 Trie implementation using hashmap – Trie part 3 Trie implementation using linked list – Trie part 2 Trie implementation using array – Trie part 1 Max-heap implementation – bubble up/down algorithm – Heap part 1 Min-heap implementation – bubble up/down algorithm – Heap part 2 Binary search tree implementation – Binary tree 2 Binary tree implementation – Binary tree 1 Graph theory Topological Sort using DFS and Kahn’s algorithm – Graph algorithm 2 Minimum Spanning Tree using Kruskal’s algorithm – Graph algorithm 1 Graph as adjacency matrix – Graph implementation 3 Graph as adjacency list – Graph implementation 1 Weighted graph as adjacency list – Graph implementation 2 Fundamental algorithms Quicksort – divide and conquer Heapsort (2 solutions) – iteration and recursion Merge sort – divide and conquer Bubble sort (2 solutions) – basic and optimized Insertion sort Selection sort Binary search Math Fibonacci number – find nth fibonacci 4 solutions Catalan number – find nth Catalan number 3 solutions Factorial number Prime number