- [ ] Python Bootcamp - [ ] Python Bootcamp - [ ] Git Bootcamp - [ ] Session - [ ] 1. What is an Algorithm ? - [ ] 2. What is Data Structures. - [ ] 3. Asymptotic Notation and its importance - [ ] 4. Big O Notation - [ ] 5. Master Theorem - [ ] 6. Master Theorem for Divide & Conquer - [ ] 7. Amortized Analysis - [ ] Session - Memory Usage in Python - [ ] Session - Recursion - [ ] Session - Backtracking - [ ] Session - Simple Linked List - [ ] Session - Double Linked List - [ ] Session - Circular Linked List - [ ] Session - Unrolled Linked List - [ ] Session - Skip Lists - [ ] Session - Stack - [ ] Session - Queue ### Tree - [ ] Session - Simple Tree - [ ] Session - Binary Tree - [ ] Session - Tree Traversal - [ ] Session - Generic Trees - [ ] Session - Expression Trees - [ ] Session - XOR Trees - [ ] Session - Binary Search Trees - [ ] Session - AVL Tree - [ ] Session - Priority Queues - [ ] Session - Heaps - [ ] Session - Binary Heaps - [ ] Session - Heap Sort - [ ] Session - Disjoint Sets ### Graph - [ ] Session - Graph, Application and Representation - [ ] Session - Traversal - [ ] Session - Topological Sort - [ ] Session - Different Shortest path algorithms - [ ] Session - Minimal Spanning Tree ### Sorting - [ ] Session - Sorting and its necessary, Insertion Sort. - [ ] Session - Bubble Sort - [ ] Session - Selection Sort - [ ] Session - Insertion Sort - [ ] Session - Shell Sort - [ ] Session - Merge Sort - [ ] Session - Heap Sort - [ ] Session - Quick Sort - [ ] Session - Tree Sort - [ ] Session - Counting Sort - [ ] Session - Bucket Sort - [ ] Session - Radix Sort ### Searching - [ ] Session - Unordered linear search - [ ] Session - Sorted/Ordered Linear search - [ ] Session - Binary Search - [ ] Session - Interpolation Search - [ ] Session - Symbol Tables and Hashing - [ ] Session - String Search Algorithms - Intro ### Selection Algorithms - [ ] Session - Selection by Sorting - [ ] Session - Partition based selection algorithm - [ ] Session - Linear Selection Algorithm - Median of Medians Algorithms - [ ] Session - Finding the K smallest Elements in Sorted Order. ### Symbol Table - [ ] Session - What are Symbol Tables - [ ] Session - Symbol Table implementation - [ ] Session - Comparison ### Hashing - [ ] Session - What, Why Hashing, understanding its components. - [ ] Session - HashTable ADT - [ ] Session - Hash Function - [ ] Session - Load Factor - [ ] Session - Collisions - [ ] Session - Collisions Resolution Techniques. - [ ] Session - Seperate Chaining - [ ] Session - Open Addressing - [ ] Session - Comparison of CRT - [ ] Session - How Hashing Gets O(1) Complexity - [ ] Session - Hashing Techniques - [ ] Session - Bloom Filters ### String Algorithms - [ ] Session - Brute Force Method - [ ] Session - Robin Karp String Method - [ ] Session - Finite Automata - [ ] Session - KMP Algorithms - [ ] Session - Boyce-Moore Algorithms - [ ] Session - DS for storing strings - [ ] Session - Hash Table for Strings - [ ] Session - Binary Search for Strings - [ ] Session - Tries - [ ] Session - Ternary Search Trees - [ ] Session - BST's Tries TST's - [ ] Session - Suffix Trees ### Greedy Algorithm - [ ] Session - Need, Why, How - [ ] Session - Applications ### Divide and Conquer - [ ] Session - Divide and Conquer Viz - [ ] Session - Understanding - [ ] Session - Adv and Dis Adv - [ ] Session - Master Theorem ### Dynamic Programming