TOTAL CREDIT UNITS L T P/ S SW/F W. Course Title: Analysis & Design of Algorithm. Course Level: UG Course Code: CSE303 Credit Units: 5

Similar documents
Contents. 1 Introduction. 2 Searching and Traversal Techniques. Preface... (vii) Acknowledgements... (ix)

D.K.M.COLLEGE FOR WOMEN (AUTONOMOUS), VELLORE-1.

INSTITUTE OF AERONAUTICAL ENGINEERING

CSCE 321/3201 Analysis and Design of Algorithms. Prof. Amr Goneid. Fall 2016

Virtual University of Pakistan

DESIGN AND ANALYSIS OF ALGORITHMS

Department of Computer Applications. MCA 312: Design and Analysis of Algorithms. [Part I : Medium Answer Type Questions] UNIT I

R13 SET - 1. ''' '' ''' ' blog: anilkumarprathipati.wordpress.com. Code No: RT32054

SRM UNIVERSITY FACULTY OF ENGINEERING AND TECHNOLOGY SCHOOL OF COMPUTING DEPARTMENT OF CSE COURSE PLAN. Sec. Name Office Office hour Mail id

Course Contents/Syllabus: Weightage (%) Module I: Introduction to operating system: 15

Thomas H. Cormen Charles E. Leiserson Ronald L. Rivest. Introduction to Algorithms

L.J. Institute of Engineering & Technology Semester: VIII (2016)

Introduction to Algorithms Third Edition

CLASS: II YEAR / IV SEMESTER CSE CS 6402-DESIGN AND ANALYSIS OF ALGORITHM UNIT I INTRODUCTION

IV/IV B.Tech (Regular) DEGREE EXAMINATION. Design and Analysis of Algorithms (CS/IT 414) Scheme of Evaluation

Analysis of Algorithms

Data Structures and Algorithms

Lecture 1. Introduction

Chapter 9 Graph Algorithms

Chapter 9 Graph Algorithms

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING Question Bank Subject Name: CS6402- Design & Analysis of Algorithm Year/Sem : II/IV UNIT-I INTRODUCTION

Design and Analysis of Algorithms. Comp 271. Mordecai Golin. Department of Computer Science, HKUST

Chapter 9 Graph Algorithms

Sankalchand Patel College of Engineering - Visnagar Department of Computer Engineering and Information Technology. Assignment

11/22/2016. Chapter 9 Graph Algorithms. Introduction. Definitions. Definitions. Definitions. Definitions

4.1.2 Merge Sort Sorting Lower Bound Counting Sort Sorting in Practice Solving Problems by Sorting...

CS6402 DESIGN AND ANALYSIS OF ALGORITHMS QUESTION BANK UNIT I

INTERNATIONAL INSTITUTE OF MANAGEMENT, ENGINEERING & TECHNOLOGY, JAIPUR (IIMET)

Anany Levitin 3RD EDITION. Arup Kumar Bhattacharjee. mmmmm Analysis of Algorithms. Soumen Mukherjee. Introduction to TllG DCSISFI &

DESIGN AND ANALYSIS OF ALGORITHMS

END-TERM EXAMINATION

5105 BHARATHIDASAN ENGINEERING COLLEGE

Course Title: Ad Hoc & Wireless Sensor Network Course Level: Post Graduate Course Code: CSE-622 Credit Units: 04. Course Objectives:

Introduction to Algorithms May 14, 2003 Massachusetts Institute of Technology Professors Erik Demaine and Shafi Goldwasser.

Topic Analysis PART-A

CAD Algorithms. Categorizing Algorithms

Sai Nath University. Assignment For B.tech in CS 8 st Sem.

( ) D. Θ ( ) ( ) Ο f ( n) ( ) Ω. C. T n C. Θ. B. n logn Ο

Model Answer. Section A Q.1 - (20 1=10) B.Tech. (Fifth Semester) Examination Analysis and Design of Algorithm (IT3105N) (Information Technology)

( ) ( ) C. " 1 n. ( ) $ f n. ( ) B. " log( n! ) ( ) and that you already know ( ) ( ) " % g( n) ( ) " #&

Trees, Trees and More Trees

PSD1A. DESIGN AND ANALYSIS OF ALGORITHMS Unit : I-V

Ph.D. Written Examination Syllabus

) $ f ( n) " %( g( n)

ECE250: Algorithms and Data Structures Final Review Course

n 2 C. Θ n ( ) Ο f ( n) B. n 2 Ω( n logn)

Partha Sarathi Mandal

Algorithms and Data Structures

Course Title: Introduction to Database Management System Course Code: CSIT116 Course Level: UG Course Credits:04 L T P/ S SW/F W

CS/ENGRD 2110 Object-Oriented Programming and Data Structures Spring 2012 Thorsten Joachims. Lecture 25: Review and Open Problems

CS583 Lecture 01. Jana Kosecka. some materials here are based on Profs. E. Demaine, D. Luebke A.Shehu, J-M. Lien and Prof. Wang s past lecture notes

COURSE: DATA STRUCTURES USING C & C++ CODE: 05BMCAR17161 CREDITS: 05

Algorithms and Data Structures (INF1) Lecture 15/15 Hua Lu

Computer Science 385 Analysis of Algorithms Siena College Spring Topic Notes: Introduction and Overview

CSE373: Data Structures & Algorithms Lecture 28: Final review and class wrap-up. Nicki Dell Spring 2014

( ). Which of ( ) ( ) " #& ( ) " # g( n) ( ) " # f ( n) Test 1

15CS43: DESIGN AND ANALYSIS OF ALGORITHMS

Overview of Data Structures, Algorithm Analysis

The Algorithm Design Manual

Assignment No 2 (Group B)

CSE 100: B+ TREE, 2-3 TREE, NP- COMPLETNESS

Algorithms and Data Structures, or

Design and Analysis of Algorithms

Bachelor of Technology (Computer Engineering) Scheme of Courses/Examination (5th Semester)

logn D. Θ C. Θ n 2 ( ) ( ) f n B. nlogn Ο n2 n 2 D. Ο & % ( C. Θ # ( D. Θ n ( ) Ω f ( n)

Coping with the Limitations of Algorithm Power Exact Solution Strategies Backtracking Backtracking : A Scenario

CS 4407 Algorithms Lecture 5: Graphs an Introduction

CS201 Design and Analysis of Algorithms Max.Marks:75

Ph.D. Comprehensive Examination Design and Analysis of Algorithms

Theorem 2.9: nearest addition algorithm

D. Θ nlogn ( ) D. Ο. ). Which of the following is not necessarily true? . Which of the following cannot be shown as an improvement? D.

Greedy Algorithms 1 {K(S) K(S) C} For large values of d, brute force search is not feasible because there are 2 d {1,..., d}.

( ) 1 B. 1. Suppose f x

CS4800: Algorithms & Data Jonathan Ullman

Multiple Choice. Write your answer to the LEFT of each problem. 3 points each

About the Author. Dependency Chart. Chapter 1: Logic and Sets 1. Chapter 2: Relations and Functions, Boolean Algebra, and Circuit Design

2. (a) Explain when the Quick sort is preferred to merge sort and vice-versa.

9. The expected time for insertion sort for n keys is in which set? (All n! input permutations are equally likely.)

Unit 8: Coping with NP-Completeness. Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems. Y.-W.

n 2 ( ) ( ) Ο f ( n) ( ) Ω B. n logn Ο

CSE 548: Analysis of Algorithms. Lecture 13 ( Approximation Algorithms )

Design and Analysis of Algorithms COT-301

Graphs & Digraphs Tuesday, November 06, 2007

Lecture 22 Tuesday, April 10

Lecture 13. Reading: Weiss, Ch. 9, Ch 8 CSE 100, UCSD: LEC 13. Page 1 of 29

Outline. Graphs. Divide and Conquer.

Bulldozers/Sites A B C D

Homework Assignment #3 Graph

Module 2: NETWORKS AND DECISION MATHEMATICS

CS 440 Theory of Algorithms /

Course Name Software Engineering -I Course Number 371 CSM-3 Credit Hours 3 Contact Hours 4 Course Coordinator Dr.M.K.Jayanthi

CS 161 Fall 2015 Final Exam

R13. II B. Tech I Semester Supplementary Examinations, May/June DATA STRUCTURES (Com. to ECE, CSE, EIE, IT, ECC)

Course Title: PC Packages Credit Units: 02 Course Level: UG Course Code: CSIT115. Course Objectives: Pre-requisites: NIL. Course Contents/Syllabus:

& ( D. " mnp ' ( ) n 3. n 2. ( ) C. " n

Further Mathematics 2016 Module 2: NETWORKS AND DECISION MATHEMATICS Chapter 9 Undirected Graphs and Networks

( ) + n. ( ) = n "1) + n. ( ) = T n 2. ( ) = 2T n 2. ( ) = T( n 2 ) +1

n 2 ( ) ( ) + n is in Θ n logn

( ) n 3. n 2 ( ) D. Ο

Your favorite blog : (popularly known as VIJAY JOTANI S BLOG..now in facebook.join ON FB VIJAY

Transcription:

Course Title: Analysis & Design of Algorithm Course Level: UG Course Code: CSE303 Credit Units: 5 L T P/ S SW/F W TOTAL CREDIT UNITS 3 1 2-5 Course Objectives: The designing of algorithm is an important component of computer science. The objective of this course is to make students aware of various techniques used to evaluate the efficiency of a particular algorithm. Students eventually should learn to design efficient algorithm for a particular program. Pre-requisites: Data Structures Course Contents/Syllabus: Weightage (%) Module I : 20% Introduction: Algorithm Design paradigms - motivation, concept of algorithmic efficiency, run time analysis of algorithms, Asymptotic Notations. Recurrences- substitution method, recursion tree method, master method Module II: 20% Divide and Conquer: Structure of divide-and-conquer algorithms: examples; Binary search, quick sort, Merge sort, Strassen matrix multiplication; Run time analysis of divide and conquer and recurrence relations. Greedy Method: Overview of the greedy paradigm examples of exact optimization solution (minimum cost spanning tree), approximate solution (Knapsack problem), Single source shortest paths problems, traveling salesman problem

Module III : 20% Dynamic Programming: Overview, difference between dynamic programming and divide and conquer technique, Applications: Shortest path in graph, chain matrix multiplication, Traveling salesman Problem, longest Common sequence problem, knapsack problem Module IV : 25% Graph Searching and Traversal: Overview, Representation of graphs, strongly connected components, Traversal methods (depth first and breadth first search) and its analysis Back tracking: Overview, 8-queen problem, and Knapsack problem Brach and bound: LC searching Bounding, FIFO branch and bound, LC branch and bound application: 0/1 Knapsack problem, Traveling Salesman Problem Module V: 15% Computational Complexity: Complexity measures, Polynomial Vs non-polynomial time complexity; NP-hard and NP-complete classes, examples. Student Learning Outcomes: Ability to apply knowledge of mathematics, science, engineering and computing appropriate to the discipline. Ability to analyze a problem, and identify and define the computing requirements appropriate to its solution. Ability to design, implement, and evaluate a computer-based system, process, component, or programmer to meet desired needs. Ability to use current techniques, skills, and tools necessary for computing practice. Pedagogy for Course Delivery: The class will be taught using lecture and practical based method. In addition to giving the assignments and tutorials, the course instructor will spend considerable time in transforming theoretical concepts in practical oriented approach. The lab programs will be solve by using C/C++. Analysis and Design of Algorithm Lab Mandatory Programs 1. Implement Recursive Binary search and determine the time taken to search an element. Repeat the experiment for different values of n, the number of elements in the list to be searched and plot a graph of the time taken versus n. 2. Sort a given set of elements using Quick sort method and determine the time taken to sort the elements. Repeat the experiment for different values of n, the number of elements in the list to be sorted and plot a graph of the time taken versus n.

3. Implement Knapsack Problem using Greedy Approach. 4. Implement 0/1 Knapsack Problem using Dynamic Programming method. 5. From a given starting node in a digraph, print all the nodes reachable by using BFS/DFS method. 6. Find Minimum Cost Spanning Tree of a given undirected graph using Prim s/kruskal's algorithm. 7. From a given vertex in a weighted connected graph, find shortest paths to other vertices using Dijkstra's algorithm. 8. Consider the problem of N queen on an (NxN) chessboard. Two queens are said to attack each other if they are on the same row, column, or diagonal. Implements backtracking algorithm to solve the problem i.e. place N non-attacking queens on the board. 9. Implement Knapsack Problem based on Backtracking algorithm. 10. Implement Traveling Salesman problem based on Branch and Bound technique. Open Ended Programs 1. Develop a Hamiltonian Path in an undirected graph is a path that visits each vertex exactly once. A Hamiltonian cycle (or Hamiltonian circuit) is a Hamiltonian Path such that there is an edge (in graph) from the last vertex to the first vertex of the Hamiltonian Path. Develop a program to implement the solution of Travelling Salesman Problem by considering the Hamiltonian cycle approach. 2. Given two sequences, a subsequence is a sequence that appears in the same relative order, but not necessarily contiguous. For example, abc, abg, bdf, aeg, acefg,.. etc are subsequences of abcdefg. So a string of length n has 2^n different possible subsequences. It is a classic computer science problem, the basis of file comparison programs and has applications in bioinformatics. Develop a pro gram to implement the solution of Longest Common Sub-sequence problem. 3. A road network can be considered as a graph with positive weights. The nodes represent road junctions and each edge of the graph is associated with a road segment between two junctions. The weight of an edge may correspond to the length of the associated road segment, the time needed to traverse the segment or the cost of traversing the segment. Using directed edges it is also possible to model one-way streets. Such graphs are special in the sense that some edges are more important than others for long distance travel (e.g. highways). This property has been formalized using the notion of highway dimension. There are a great number of algorithms that exploit this property and are therefore able to compute the shortest path a lot quicker than would be possible on general graphs. Develop a program to find the shortest path from each node to solve the road network problem. 4. There are a number of agents and a number of tasks. Any agent can be assigned to perform any task, incurring so me cost that may vary depending on the agent-task assignment. It is required to perform all tasks by assigning exactly one agent to each task and exactly one task to each agent in such a way that the total cost of the assignment is minimized. If the numbers of agents and tasks are equal and the total cost of the assignment for all tasks is equal to the sum of the costs for each agent (or the sum of the costs for each task, which is the same thing in this case), then the problem is called the linear assignment problem. Develop a program to solve the job assignment problem.

5. Suppose that we are designing a program to simulate the storage and search in a dictionary. Words appear with different frequencies, however, and it may be the case that a frequently used word such as "the" appears far from the root while a rarely used word such as "conscientiousness" appears near the root. We want words that occur frequently in the text to be placed nearer to the root. Moreover, there may be words in the dictionary for which there is no definition. Write a program to organize an optimal binary search tree that simulates the storage and search of words in a dictionary. Assessment/ Examination Scheme: Theory Assessment (L&T): Theory L/T (%) Lab/Practical/Studio (%) Total 80% 20% 100 Continuous Assessment/Internal Assessment End Term Examination Components (Drop Attendance Class Test Assignment Viva Voice down) Weightage (%) 5 10 8 7 70 Lab Assessment Components (Drop down) Continuous Assessment/Internal Assessment Attendance Lab Record Performance Viva Voice End Term Examination Weightage (%) 5 10 10 5 70

Text & References: Text Books: 1. T. H. Cormen, Leiserson, Rivest and Stein, Introduction of Computer algorithm, PHI Publication 2. E. Horowitz, S. Sahni, and S. Rajsekaran, Funadmentals of Computer Algorithms, Galgotia Publication Reference Books: 1. Sara Basse, A. V. Gelder, Computer Algorithms, Addison Willey Publication 2. J.E Hopcroft, J.D Ullman, Design and analysis of algorithms TMH Publication 3. D. E. Knuth, The art of Computer Program:, PHI Publication