# College of Science

## Algorithm Analysis & Design

 Course Code C0506 Th 4 Pr 4 CrHrs 3

The course covers analysis and design of fundamental data structures and engages learners to use data structures as tools to algorithmically design efficient computer programs that will cope with the complexity of actual applications.

The course focuses on basic and essential topics in data structure Overview of implementation strategies of many data structures and their representation, insertion & deletion and other operation on many data structures, graph, traverse graph, Dijkstra algorithm, tree, binary search tree, traverse tree, searching and sorting methods, analyze the algorithms in best, average, and worst case.

Upon completion of the course, the students are expected to:

1. Student will be able to choose appropriate data structure as applied to specified problem definition.
2. Student will be able to handle operations like searching, insertion, deletion, traversing mechanism etc. on various data structures.
3. Students will be able to use linear and non-linear data structures like stacks, queues, linked list.
4. Use the techniques of algorithm analysis.
5. Write recursive methods.
6. Master the implementation of linked data structures such as linked lists, binary trees, graphs.
7. Sort data using different algorithms such as quicksort, merge sort and radix sort …etc.

Find the shortest path between any two nodes.

 Distribution of Marks Final Mark Final Exam Second Term Mid-Year First Term 100 Prac. Theor. Prac. Theor. Prac. Theor. Prac. Theor. 20 30 5 5 10 20 5 5
 References SN Clifford A. Shaffer," A practical introduction to data Structures and Algorithm Analysis", 3rd edition ,2011 1 Sandeep San,” Algorithm Analysis and Design”, Indian Institute Technology, Delhi, Nov 2013 2 Hari Mohan pandey ,"Data Structure and Algorithm" ,New Delhi, 2009 3
 Subject Week Algorithms: Analysis of algorithm First Basic Analysis: Asymptotic analysis of upper & average complexity bounds Second Space Complexity Third Time Complexity Fourth Big O, Little O, omega, and theta notation Fifth Searching algorithms Sixth Binary search Seventh Nawroz Holidays Eighth Ninth Sorting algorithms Tenth Mid Term Examinations – Second Semester Eleventh Bubble Sort Twelfth Selection Sort Thirteenth Radix Sort Fourteenth Hashing Fifteenth