Course Outline Data Structures
Course Outline Data Structures
A AW WO OR RL LD DC CL LA AS SS SU UN NIIV VE ER RS SIIT TY Y
Learning Outcomes
Course Outline /
Syllabus
Text Book
Reference Material
Introduction to ADTs: Array and Polynomial as an ADT, Sparse Matrices, and Representation of Arrays. Bag ADT, The Stack ADT, Expressions, Postfix Notation, and Infix to postfix conversion. Recursion: Recursive Definition and Processes, Writing Recursive Programs. Queue: The Queue ADT, Circular and Double Ended Queue. Linked List: Singly Linked Lists, Circular Lists, Linked Stacks and Queues (Double Ended List), Doubly Linked Lists. Trees: Introduction to Trees, Logical construction and Traversing of Binary Trees, Implementation of Binary Trees (Insertion and Traversing), Searching and deletion in Binary Trees, Binary Search Tree, Introduction to Balanced and AVL Trees. Heaps: Heaps and Heaps as Priority Queues, Double Ended Priority Queue. Searching: Linear Search, Binary Search, and Types of Indexing. Hashing: Hash Functions: Division; Overflow Handling: Chaining; Introduction to other advanced topics like:, B-Trees, etc Composite Data Structures: Multi-Stack, Multi-Queue, Generalized List, etc. Sorting types and Techniques: Logical and Algorithmic Implementation of Selection, Bubble, Insertion, Shell, Radix, Merge, Quick, Heap, and Tree sorts. Graphs: Graph terminology, Adjacency List and Adjacency Matrix and Adjacency list representation of Graph; Elementary Graph Operations: Breadth First Search and Depth First Search, Spanning Trees (BFSST, DFSST). Written material will be provided. D. Samanta. Classic Data Structures, Prentice Hall, 2001 Reference from different books enlisted in reference material will be given as required. Mark Allen Weiss, Data Structure and Algorithms in C++, Benjamin/Cumming Adam Drozdek Data Structure and Algorithm in Java ISBN 0-534-37668-1 Ellis Horowitz, Sartaj Sahni, and D. Mehta Fundamentals of Data Structures in C++, 2nd Ed., Computer Science Press, 1995. ISBN 81-7808-792-8 Tenenbaum, M. Augenstein, and Y. Langsam, Data Structures using C and C++ 2nd Ed., Prentice Hall, 1999 ISBN 0-13-529322-7 http://www.nist.gov/dads (Dictionary of Algorithms and Data Structures)
Assessment Criteria
Week
Lecture
Topic
Recommendations for Learning Activities Source (Mention Assignments, (Book-Chapter No. Test, Quizzes, Section No.) Practical, Case Study, Projects, Lab Work or Reading Assignments)
1 2 3 4 5 6 7 8
2 3
9 10 11 12 13 14 15
16
Introduction to Course, Review of Object Oriented Programming Concepts Data Structures, Abstract Data Type, Data Structure in SDLC Revision of arrays Polynomial as ADT Stack The Stack ADT, Expressions, Postfix & Prefix Notation Infix to postfix and prefix conversion Postfix and prefix evaluation Queue (array implementation) Variation of Queue ADT i.e. Circular and Double Ended Queue. Applications of Queues. Recursive Definition and Processes, Direct and Indirect Recursion, Binary Search and Towers of Hanoi as example Writing Recursive Programs, conversion of recursive algorithms into iterative algorithms Linear Single Link List, and Linked Stacks and Queues Containers and Iterators, Linear Linked list Iterator Linear Doubly Link List, Circular Lists: Singly and Doubly and Its Iterator Array-based implementation of all List-based Data Structures Overview of Composite Data Structures: Multi-Stack, Multi-Queue, Generalized List, etc. Introduction to Trees, Tree Terminology, Logical construction and Representation of Trees, Introduction to Binary Tree ADT, Mathematical properties Array Implementation of Binary Trees (Insertion and Traversing)
3
Assignment # 1
Quiz # 1 Assignment # 2
9 10 11 12 13 14 15 16
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
Link Implementation of Binary Trees Binary Search Tree Heaps (MinHeap and MaxHeap) and heaps as an priority queues Min-Max Heap AVL trees and insertion Deletion Operation in AVL tress Introduction to graph and related terminology Elementary Graph Operations Minimum cost spanning trees Balanced search trees theoretical Comprehension of insertion/deletion 2-3 Tree Deletion 2-3-4 Tree Insertion/Deletion B-Trees Insertion/deletion Hashing and Overflow Handling Introduction to sorting types and Techniques Review of course
Quiz # 3