Browse Code Data structures and algorithms Data structure implementations Priority queue implementation using an unordered array – Priority queue 1 Priority queue implementation using an ordered array – Priority queue 2 Priority queue implementation using a heap – recursive solution Priority queue implementation using a heap – iterative solution Hash table implementation Circular queue implementation using an array – Queue part 2 Implement a sorted array – Array part 2 Implement a linked list class – Linked list part 1 Implement a circular linked list class – Linked list part 3 1 2 › Trees and variations Binary search tree with parent pointer – Binary tree 3 Suffix trie implementation using array – Trie variation 1 Suffix trie implementation using hashmap – Trie variation 2 Disjoint set – Union by rank implementation Binary tree implementation – Binary tree 1 Min-heap implementation – Heap part 2 Trie implementation using an array – Trie part 1 Trie implementation using a linked list – Trie part 2 Trie implementation using a hashmap – Trie part 3 1 2 › Graph theory Shortest path using Dijkstra’s algorithm – Graph algorithm 3 Topological Sort using DFS and Kahn’s algorithm – Graph algorithm 2 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 Fundamental algorithms Binary search (2 solutions) – iteration and recursion Selection sort gif | code and visuals Insertion sort gif | code and visuals Bubble sort (2 solutions) – basic and optimized Heapsort (2 solutions) – iteration and recursion Merge sort gif | code and visuals Quick sort gif | Code and visuals Math Fibonacci number – find nth fibonacci 4 solutions Catalan number – find nth Catalan number 3 solutions Factorial number – calculate factorials 2 solutions Prime number – check a number is prime number 3 solutions