(Established vide Uttaranchal University Act, 2012, Uttarakhand Act No. 11 of 2013) Premnagar-248007, Dehradun, Uttarakhand, INDIA
Program Name OMCA Program Code 601
Course Code OMCA-122 Credit 4 Year/Semester 1/2 L-T-P 4-0-0 Course Name Data Structure Objectives of the Course ● To learn how the choice of data structures impacts the performance of programs. ● To study specific data structures such as arrays, linear lists, stacks, queues, hash tables, binary trees, binary search trees, heaps and AVLtrees. ● To learn efficient searching and sorting techniques. UNIT-I: Introduction Basic Terminology, Data structure, Time and space complexity, Review Of Array, Structures, Pointers. Stack: Definition, Representation, Stack operations, Applications (Infix– Prefix–Postfix Conversion & Evaluation, Recursion) UNIT-II: Queues Definition, Representation, Types of queue, Queue operations, Applications. Linked Lists: Dynamic memory allocation, representation, Linked list insertion and deletion, Searching, Traversing in a list, Doubly linked list, Sparse matrices UNIT-III: Trees Tree Terminologies, General Tree, Binary Tree, Representations, Traversing, BST, Operations on BST, Heap tree, AVL Search Trees, M-way search tree, Applications of all trees UNIT-IV: Sorting Selection Sort, Bubble sort, Insertion Sorts, Merge Sort, Quick Sort, Radix Sort, Heap sort. Searching: Linear search, Binary search UNIT-V: Searching Linear Search, Binary Search and Fibonacci Search . Greedy Algorithms – Knapsack Problem – Dynamic Programming – Optimal Binary Search Tree - Warshall‟s Algorithm for Finding Transitive Closure Course Outcomes (CO) CO1: Ability to choose appropriate data structures to represent data items in real world problems. CO2: Ability to analyze the time and space complexities of Algorithms combinations. CO3: Implement and know the application of algorithms for sorting and pattern matching. CO4: Ability to design programs using a variety of data structures such as stacks, queues, hash tables, binary trees, search trees, heaps, graphs, and B-trees.
Books for References:
1. Horowitz E. & Sahni S and S. Rajasekaran, "Fundamentals of Computer
Algorithms", Universities Press, 2nd Edition, 2008. 2. Aho, Hopcroft & Ullman, "The Design and Analysis of Computer Algorithms", Pearson, 1st Edition, 1974. 3. T.H.Cormen, C.E Leiserson, R.L.Rivest and C.Stein," Introduction to Algorithms", PHI, 3rd Edition, 2009. 4. D.E. Knuth, "Fundamental Algorithms", Addison-wesley, 3rd Edition.