Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

# Foundations of Algorithmic Problem-Solving A Comprehensive Approach

This course may be unavailable.

### Overview

Foundations of Algorithmic Problem-Solving: A Comprehensive Approach" is a comprehensive course that aims to equip learners with essential skills to solve complex problems using algorithmic solutions. This course is designed for beginners and intermediate learners who want to enhance their problem-solving abilities in various domains. This course emphasizes teaching techniques for designing and analyzing efficient algorithms, including sorting and searching, divide-and-conquer, dynamic programming, greedy algorithms, brute force, backtracking and incremental improvement, as well as complexity analysis. The pedagogy of the "“Foundations of Algorithmic Problem-Solving: A Comprehensive Approach" course is designed to provide a dynamic and immersive learning experience, blending theoretical knowledge with hands-on practical application.

### Syllabus

Week

Title

1

Algorithmic: Understanding their definition and Significance

Basic algorithm analysis: Bigoh, Omega, Theta

Recurrence Problems: General Recurrence equations

2

Master Method and problems

Recursive Tree Method and problems

Substitution Method and problems

3

Bubble sort algorithm and its Time Complexity calculation

Selection sort algorithm and its Time Complexity calculation

Insertion sort algorithm and its Time Complexity calculation

Radix sort and its Time Complexity calculation

4

Introduction to Divide & Conquer: Quick sort algorithm and its Time Complexity calculation

Merge sort algorithm and its Time Complexity calculation

Heapsort algorithm and its Time Complexity calculation

5

Introduction to Linear search and Binary search

Strassen’s matrix multiplication

Coin change problem using greedy approach

Data compression using Huffman Encoding Algorithm

6

Introduction to Minimum Spanning Tree (MST): Prim’sAlgorithm

Minimum Spanning Tree (MST) Problem: Kruskal’s Algorithm

Single Source Shortest Path Problem: Dijkstra’s algorithm

Single Source Shortest Path Problem: Bellman ford algorithm

7

Applications of dynamic programming: Longest Common Subsequence Problem

Matrix chain Multiplication

Knapsack Problem

8

Floyd’s Warshall algorithm

Travelling sales man problem

Hamiltonian Circuit Problem

9

N-Queens problem

Graph coloring Problem

Flow networks problem

Union by Rank and Path Compression

10

Pattern matching Problems: Knuth-Morris-Pratt algorithm

Boyer-Moore algorithm

11

Introduction to Amortized analysis

Branch and Bound: LIFO Search

Branch and Bound: FIFO Search

12

Introduction to undesirability, P, NP, NP hard and NP complete

Reducibility of P, NP and NPC

Introduction to Approximation algorithms and application

### Taught by

Dr J. P. Patra & Mr. Shesh Narayan Sahu

## Reviews

Start your review of Foundations of Algorithmic Problem-Solving A Comprehensive Approach

### Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.