Prerequisites:
1. A course on “Computer Programming and Data Structures”.
2. A course on “Advanced Data Structures”. Course Objectives:
1. Introduces the notations for analysis of the performance of algorithms.
2. Introduces the data structure of disjoint sets.
3. Describes major algorithmic techniques (divide-and-conquer, backtracking, dynamic
Programming, greedy, branch and bound methods) and mention problems for which each technique is appropriate
4. Describes how to evaluate and compare different algorithms using worst-, average-, and best case analysis.
5. Explains the difference between tractable and intractable problems, and introduces the
Problems that are P, NP and NP complete. Course Outcomes:
1. Ability to analyze the performance of algorithms
2. Ability to choose appropriate data structures and algorithm design methods for a specified application
3. Ability to understand how the choice of data structures and the algorithm design methods Impact the performance of programs UNIT – I
Introduction: Algorithm, Performance Analysis-Space complexity, Time complexity, Asymptotic Notations- Big oh notation, Omega notation, Theta notation and Little oh notation.Divide and conquer: General method, applications-Binary search, Quick sort, Merge sort, Strassen’s matrix multiplication.
UNIT – II
Disjoint Sets: Disjoint set operations, union and find algorithms Backtracking: General method, applications, n-queen’s problem, sum of subsets problem, graph coloring
UNIT – III
Dynamic Programming: General method, applications- Optimal binary search trees, 0/1 knapsack problem, All pairs shortest path problem, Traveling sales person problem, Reliability design.
UNIT – IV
Greedy method: General method, applications-Job sequencing with deadlines, knapsack problem, Minimum cost spanning trees, Single source shortest path problem.
UNIT – V
Branch and Bound: General method, applications – Travelling sales person problem, 0/1 knapsack problem – LC Branch and Bound solution, FIFO Branch and Bound solution.NP-Hard and NP-Complete problems: Basic concepts, non-deterministic algorithms, NP – Hard and NP-Complete classes, Cook’s theorem
TEXT BOOK:
1. Fundamentals of Computer Algorithms, Ellis Horowitz, Satraj Sahni and Rajasekharan,
University Press. REFERENCE BOOKS:
1. Design and Analysis of algorithms, Aho, Ullman and Hopcroft, Pearson education.
2. Introduction to Algorithms, second edition, T. H. Cormen, C.E. Leiserson, R. L. Rivest, and C. Stein, PHI Pvt. Ltd./ Pearson Education.
3. Algorithm Design: Foundations, Analysis and Internet Examples, M.T. Goodrich and R. Tamassia, John Wiley and sons
CSE-AIML
SEMESTER
SUBJECT CODE
SUBJECT
Lession Plan Lecturer Notes & Question Bank
SYLLABUS
I
MA101BS
Mathematics – I
Click Here
I
AP102BS
Applied Physics
Click Here
I
CS103ES
Programming for Problem Solving
Click Here
I
ME104ES
Engineering Graphics
Click Here
I
AP105BS
Applied Physics Lab
Click Here
I
CS106ES
Programming for Problem Solving Lab
Click Here
I
MC109ES
Environmental Science
Click Here
II
MA201BS
Mathematics – II
Click Here
II
CH202BS
Chemistry
Click Here
II
EE203ES
Basic Electrical Engineering
Click Here
II
ME205ES
Engineering Workshop
Click Here
II
EN205HS
English
Click Here
II
CH206BS
Engineering Chemistry Lab
Click Here
II
EN207HS
English Language and Communication Skills Lab
Click Here
II
EE208ES
Basic Electrical Engineering Lab
Click Here
II-I
CS310PC
Discrete Mathematics
Click Here
II-I
CS302PC
Data Structures
Click Here
II-I
MA313BS
Mathematical and Statistical Foundations
Click Here
II-I
CS304PC
Computer Organization and Architecture
II-I
CS311PC
Python Programming
Click Here
II-I
SM306MS
Business Economics & Financial Analysis
Click Here
II-I
CS307PC
Data Structures Lab
Click Here
II-I
CS312PC
Python Programming Lab
Click Here
II-I
MC309
Gender Sensitization Lab
Click Here
II-II
CS416PC
Formal Language and Automata Theory
Click Here
II-II
CS417PC
Software Engineering
Click Here
II-II
CS403PC
Operating Systems
Click Here
II-II
CS404PC
Database Management Systems
Click Here
II-II
CS412PC
Object Oriented Programming using Java
Click Here
II-II
CS406PC
Operating Systems Lab
Click Here
II-II
CS407PC
Database Management Systems Lab
Click Here
II-II
CS408PC
Java Programming Lab
Click Here
II-II
MC409
Constitution of India
Click Here
III-I
Design and Analysis of Algorithms
Click Here
III-I
Machine Learning
Click Here
III-I
Computer Networks
Click Here
III-I
Compiler Design
Click Here
III-I
Graph Theory (PE1)
Click Here
III-I
Introduction to Data Science(PE1)
Click Here
III-I
Web Programming(PE1)
Click Here
III-I
Image Processing(PE1)
Click Here
III-I
Computer Graphics(PE1)
Click Here
III-I
Software Testing Methodologies(PE2)
Click Here
III-I
Information Retrieval Systems(PE2)
III-I
Pattern Recognition(PE2)
Click Here
III-I
Computer Vision and Robotics(PE2)
Click Here
Click Here
III-I
Data Warehousing and Business Intelligence(PE2)
Click Here
III-I
Machine Learning Lab
Click Here
III-I
Computer Networks Lab
Click Here
III-I
Advanced Communication Skills Lab
Click Here
III-I
Intellectual Property Rights
Click Here
III-II
Artificial Intelligence
Click Here
Click Here
III-II
DevOps
Click Here
Click Here
III-II
Natural Language Processing
Click Here
Click Here
III-II
Internet of Things(PE3)
Click Here
Click Here
III-II
Data Mining(PE3)
Click Here
Click Here
III-II
Scripting Languages(PE3)
Click Here
Click Here
III-II
Mobile Application Development(PE3)
Click Here
Click Here
III-II
Cryptography and Network Security(PE3)
Click Here
Click Here
III-II
Artificial Intelligence and Natural Language
Processing Lab
Add Comment