You are on page 1of 2

DESIGN & ANALYSIS OF ALGORITHMS

Course Code: AI208 Course Credits: 3


Course Category: CC Course (U / P) U
Course Year (U / P): 3U Course Semester (U / P): 6U
No. of Lectures + Tutorials (Hrs/Week): 03 + 00 Mid Sem. Exam Hours: 1
Total No. of Lectures (L + T): 45 + 00 End Sem. Exam Hours: 3

7. COURSE OBJECTIVES
8. Analyze the asymptotic performance of algorithms.
9. Write rigorous correctness proofs for algorithms.
10. Demonstrate a familiarity with major algorithms and data structures.
11. Apply important algorithmic design paradigms and methods of analysis.
12. Synthesize efficient algorithms in common engineering design situations.

COURSE OUTCOMES
At the end of the course the students should be able to:
6. Argue the correctness of algorithms using inductive proofs and invariant
7. Explain the major graph algorithms and their analyses. Employ graphs to model engineering
problems, when appropriate. Synthesize new graph algorithms and algorithms that employ graph
computations as key components, and analyze them.
8. Describe the divide-and-conquer paradigm and explain when an algorithmic design situation calls
for it. Recite algorithms that employ this paradigm. Synthesize divide-and-conquer algorithms.
Derive and solve recurrences describing the performance of divide-and-conquer algorithms.
9. Describe the dynamic-programming paradigm and explain when an algorithmic design situation
calls for it. Recite algorithms that employ this paradigm. Synthesize dynamic-programming
algorithms, and analyze them.
10. Analyze worst-case running times of algorithms using asymptotic analysis.

UNIT I BASIC CONCEPT OF ALGORITHMS

What is an algorithm, notion of algorithm, fundamentals of algorithmic solving, Mathematics for


Algorithmic sets, Functions and Relations, Vectors and Matrices, linear Inequalities and Linear
Equations, fundamentals of analysis framework, the efficient algorithm, Average, Best and Worst
case analysis, asymptotic notation, Analyzing Control statement, Loop invariant and the
correctness of the algorithm.

UNIT II MATHMATICAL ASPECTS AND ANALYSIS OF ALGORITHM

Mathematical analysis of non- recursive algorithm , mathematical analysis of recursive algorithm,


example: fibonacci numbers, empirical analysis of algorithms, algorithm visualization.

UNIT III ANALYSIS OF SORTING AND SEARCHING ALGORITHM

Sorting Algorithms and Analysis: Bubble sort, Selection sort, Insertion sort,Shell sort Heap sort,
Sorting in linear time: Bucket sort, Radix sort and Counting sort. sequential search and brute-force
string matching, divide and conquer, merge sort, binary search, binary tree, traversal and related
properties, depth first search and breadth forst search.

UNIT IV ALGORITHM TECHNIQUES


Transform and conquer, presorting, balanced search trees, avl trees, heaps and heap sort, dynamic
programming, Warshall's and Floyd's algorithm, optimal binary search trees, greedy techniques,
Prim's algorithm, Kruskal's algorithm, Dijkstra's algorithm, Huffman trees.

UNIT V ALGORITHM DESIGN METHODS

Backtracking, n-Queen's problem, Hamiltonian circuit problem, subset-sum problem, branch and
bound, assignment problem, knapsack problem, traveling salesman problem.

Text Books:

1. Anany Levitin, "Introduction to the Design and Analysis of Algorithm", Pearson


Education Asia, 2003

2. T.H. Cormen, C.E. Leiserson, R. L. Rivest and C. Stein, "Introduction to


Algorithm", PHI Pvt. Ltd., 2001

3. Sara Baase and Allen Van Gelder,"Computer Algorithms-Introduction to the Design


and Analysis ", Pearson Education Asia, 2003

4. A. V. Aho, J.E. Hopcroft and J.D. Ullman, "the Design and Analysis of Computer
Algorithms", Pearson Education Asia, 2003.

You might also like