Sidho-Kanho-Birsha University

Syllabus & Course Curriculam

Syllabus (COMPUTER SCIENCE)

Course Type: MAJ-6

Semester: 5

Course Code: BCOSMAJ06C

Course Title: Design and Analysis of Algorithm

(L-P-Tu): 4-2-0

Credit: 6

Practical/Theory: Combined

Course Objective: 1. To understand the role, characteristics and need of algorithms. 2. To understand the classification strategies of algorithms and recursive algorithms.

Learning Outcome: 1. Ability to analyze asymptotic runtime complexity of algorithms including formulating recurrence relations. 2. Ability to understand and design algorithms using greedy strategy, divide and conquer approach, dynamic programming, Demonstrate a familiarity with major algorithms and data structures.

Theory

Introduction:

Analysis of Algorithms: Insertion Sort, Merge Sort, Time and Space Complexity, Growth of Functions: Asymptotic Notation, Recurrences: Substitution, Iteration, Master Method. (10 Lectures)

Divide and Conquer Algorithms:

General method, Quicksort, Randomized Algorithms, Applications-Analysis of Binary Search, Heap Sort, Matrix Multiplication. (10 Lectures)

Greedy Algorithms:

Introduction to Greedy Strategies, Minimum Spanning Tree: Kruskal’s Algorithm, Prim’s Algorithm, Huffman Coding. (8 Lectures)

Dynamic programming:

Principles Of Dynamic Programming, Memorization and Tabulation Techniques, Knapsack Problem, Matrix Chain Multiplication, Longest Common Subsequence. ( 10 Lectures)

Graph Algorithms:

Graph Traversal: BFS And DFS, Topological Sort, Strongly Connected Components, Single-Source Shortest Paths: The Bellman-Ford Algorithm, Dijkstra’s Algorithm, All-Pairs Shortest Paths: The Floyd-Warshall Algorithm. (12 Lectures)

Introduction to Complexity Theory:

Basic Concepts, Non-Deterministic Algorithms, NP-Hard And NP-Complete Classes, Cook‘s Theorem. (10 Lectures)

DESIGN AND ANALYSIS OF ALGORITHMS LAB

1. Write a program to perform Insertion Sort, Merge Sort, Quicksort, Heap Sort for the given list of integer values.

2. Write a program to find Maximum and Minimum of the given set of integer values.

3. Write a Program to perform Binary Search for a given set of integer values recursively and non-recursively.

8. Write a program to find solution for knapsack problem using greedy method.

9. Write a program to find minimum cost spanning tree using Prim’s Algorithm.

10. Write a program to find minimum cost spanning tree using Kruskal’s Algorithm.

11. Write a program to perform Single source shortest path problem for a given graph.

12. Write a program to find solution for job sequencing with deadlines problem.

13. Write a program for all pairs shortest path problem.

14. Write a program to solve N-QUEENS problem.

15. Write a program to solve Sum of subsets problem for a given set of distinct numbers.

Reading References:

1. T.H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein Introduction to Algorithms, PHI

2. Sarabasse & A.V. Gelder Computer Algorithm - Introduction to Design and Analysis, Pearson.

3. A. Aho, V. Alfred, J. Hopcroft and J.D. Ullman, The Design and Analysis of Computer Algorithms, Addison-Wesley.

Basic Features

Undergraduate degree programmes of either 3 or 4-year duration, with multiple entry and exit points and re-entry options, with appropriate certifications such as: 

Note: The eligibility condition of doing the UG degree (Honours with Research) is- minimum75% marks to be obtained in the first six semesters.

Powered By CityHub web solution

Help?

Q. CityHub Help Desk Addressপ্র. সিটিহাব ওয়েব সমাধান সহায়তা ডেস্কের ঠিকানা?

A. Click Here to See in Maps

Vidya Computer and Printing Centre,
Mini Bus Stand, Bus Stand Rd,
Purulia, West Bengal 723101
উ. মানচিত্রে দেখতে এখানে ক্লিক করুন

বিদ্যা কম্পিউটার ও প্রিন্টিং সেন্টার
মিনি বাস স্ট্যান্ড, বাস স্ট্যান্ড রোড,
পুরুলিয়া, পশ্চিমবঙ্গ 723101

Q. WhatsApp helpline number?প্র. হোয়াটস্যাপ হেল্পলাইন নম্বর?

A. Click Here or WhatsApp at +919002584311উ. এখানে ক্লিক করুন অথবা +919002584311 এ WhatsApp করুন