Introduction: Performance analysis - Asymptotic Notations & Basic Efficiency Classes - Asymptotic analysis of complexity bounds - best, average and worst-case behavior - Analysis of recursive algorithms through recurrence relations: Substitution method - Recursion tree method and Masters' theorem.
Brute-Force: Searching and Plagiarism checking using string matching - Greedy: General Method - Encoding messages using Huffman Codes - Solution for cutting stock roblems using Knapsack Problem - Task Scheduling Problem - Optimal Merge Pattern
Matrix Chain Multiplication - DNA sequencing using Longest Common Sequences - Warshall's Transitive Closure and Floyds All pairs shortest path algorithm - Energy allocation management based on 0/1 knapsack - Optimal Binary Search Tree - Travelling Salesman Problem
Branch-and-Bound: Knapsack-Optimizing the time of Drilling Printed Circuit Board using the solution of Travelling Salesman Problem - Backtracking: Knapsack - Memory management using Sum of subsets - 8-Queens problem - Resource allocation using Bin-packing
Shortest path algorithms - Optimal Wiring Layout using Prim's and Kruskal's Minimum Spanning Tree - Topological sorting - Model transportation networks using Network Flow Algorithm.
Tractable and Intractable Problems - Computability of Algorithms - Computability classes - P, NP, NP-Complete and NP-hard