Module 4
Searching, Sorting, and Algorithmic Analysis
Fee ₹6,000 + GST ₹1080 , Duration - 1 month
Introduction to Searching Algorithms
Sequential Search
Linear search in unsorted and sorted arrays.
Binary Search
Prerequisite: understanding of sorted arrays.
Recursive and iterative implementations.
Hashing and Hash Tables
Hash Functions
Properties of good hash functions.
Collision Resolution Strategies
Chaining.
Open addressing: linear probing, quadratic probing, double hashing.
Load Factor and Resizing
Impact on performance.
Sorting Algorithms
Simple Sorts
Bubble sort.
Selection sort.
Insertion sort.
When and why to use them.
Efficient Sorts
Merge Sort
Divide and conquer strategy.
Quick Sort
Partitioning method.
Heap Sort
Utilizing heap data structure.
Non-Comparison Sorts (if time allows)
Counting sort.
Radix sort.
Sorting with Permutation Arrays
Concepts and practical applications.
Comparison of Sorting Algorithms
Time Complexity
Best, average, and worst-case scenarios.
Space Complexity
In-place sorting vs. additional memory.
Stability in Sorting
Importance and implications.
Algorithm Analysis Techniques
Big O Notation
Formal definitions.
Common time complexities.
Best, Average, and Worst-Case Analysis
Understanding different performance scenarios.
Mathematical Foundations
Recurrence Relations
Solving recurrences using substitution and recursion tree methods.
Master Theorem
Application to divide and conquer algorithms.
Algorithm Correctness
Proof Techniques
Loop invariants.
Mathematical induction.
Case Studies
Correctness proofs for common algorithms.
Applications and Case Studies
Practical applications of searching and sorting in real-world systems.