The document outlines the topics and structure for an exam on data structures and algorithms. It will cover implementing common data structures like linked lists, stacks, queues, trees, and hash tables. It will also cover analyzing algorithms using asymptotic notations to determine time complexities of sorting, searching and divide-and-conquer algorithms like merge sort and quicksort. Students will be expected to design data structures for problems, write algorithms for operations on data structures, and analyze algorithms to determine their efficiency.
The document outlines the topics and structure for an exam on data structures and algorithms. It will cover implementing common data structures like linked lists, stacks, queues, trees, and hash tables. It will also cover analyzing algorithms using asymptotic notations to determine time complexities of sorting, searching and divide-and-conquer algorithms like merge sort and quicksort. Students will be expected to design data structures for problems, write algorithms for operations on data structures, and analyze algorithms to determine their efficiency.
The document outlines the topics and structure for an exam on data structures and algorithms. It will cover implementing common data structures like linked lists, stacks, queues, trees, and hash tables. It will also cover analyzing algorithms using asymptotic notations to determine time complexities of sorting, searching and divide-and-conquer algorithms like merge sort and quicksort. Students will be expected to design data structures for problems, write algorithms for operations on data structures, and analyze algorithms to determine their efficiency.
Analysis of Data Structures & Algorithms: II Year ECM Slot B2
Portions for CAT 1 (August 2019)
Module:1 Implementing Data Structures:
Linked list, Stack, Queues, Trees, Heaps, Hash Tables Module:2 Algorithm Analysis Analysis Algorithms - Asymptotic notations – Recurrences -Substitution - Recursion-tree – The master method Module:3 Algorithms with Numbers: Sorting and Searching, Divide and Conquer algorithms
Model of the questions:
1. Design suitable data structure for a given problem 2. Write algorithms for insertion/deletion/search for the given data structures 3. Problem related to Data Structure 4. Given an algorithm describe the problem that it solves. 5. Given an algorithm determine its asymptotic efficiency. 6. Given a recurrence relation determines the asymptotic efficiency. 7. Sorting Algorithms & Divide & Conquer Algorithms
Topics for Study and References:
1. Data Structures Linked list, Stack, Queues, Trees, Binary Search Trees, Heaps, Hash Tables (Algorithms for Insert, Delete and Search) – (Ref Books 1) Weiss 2) Horowitz & Sahni 3) Thomas Cormen 4) Levintin)
2. Brute Force Algorithms: (Refer to any of the above 4 books)
Insertion Sort (Attached Reference Material by Prof Sadagopan, IIITD&M) Bubble Sort (Attached Reference Material by Prof Sadagopan, IIITD&M ) Selection sort (Attached Reference Material by Prof Sadagopan, IIITD&M ) Linear Search (Attached Reference Material by Prof Sadagopan, IIITD&M) Design of brute force algorithm for a given problem
3. Divide & Conquer Algorithms: (Refer to any of the above 4 books)
Merge sort (Attached Reference Material by Prof Sadagopan, IIITD&M ) Quicksort (Attached Reference Material by Prof Sadagopan, IIITD&M) Binary Search (Attached Reference Material by Prof Sadagopan, IIITD&M) Design of divide and conquer based algorithm for a given problem
4. Asymptotic Notations: O, Ω, Θ (Attached Reference Material by Prof Sadagopan also refer
to Book - Cormen)
5. Asymptotic Efficiency for Recurrences Relations :
Master Method (Attached Reference Material by Prof Sadagopan also refer to Book - Cormen)