Programs to practice data structures & algorithms. Includes classroom & non-classroom work.
- practice-algos-python: Various algorithms written in Python.
- A1: Recursive vs Iterative, backtracking algorithm, complexity analysis. Finding all possible permutations of a given binary string with masked patterns.
- A2: Depth-First Search & Breadth-First Search, Recursion vs Iterative, Stack & Queues, complexity analysis. Board game in which one has to find a given value.
- A3: Priority Queue, Heap implementation with ArrayList, Upheap/Downheap, Bottom-up Heap Construction, Unsorted/sorted Linked List implementation, complexity analysis. Simulation of CPU scheduling for processes/jobs similar to an operating system with a priority queue.
- A3: AVL Tree, Balancing a Binary Tree, Tree Traversals, Merge Sorting, Binary Search. Program which adapts the underlying data structure used depending on the size of data.
A2 Sample: