SE 355. Data Structures
(3 - 0 - 1 - 0 - 4)
Preliminaries: Introduction to data structures, Mathematical background, How to create and analyze programs. Arrays, Records and Pointers: Introduction, Linear arrays, Multidimensional arrays, Records, Pointers, Representation of arrays, Sparse matrices. Stacks and Queues: Introduction, Representation of stacks, Evaluation of expression, Recursion, Representation of queues, Circular queues. Linked Lists: Singly linked lists, Linked stacks and queues, Circular linked lists, Application of linked lists: Polynomial addition, Sparse matrices, Generalized lists. Trees: Basic terminology, Binary tree representation, Binary tree traversal, Application of trees. Hash Tables: Direct address tables, Hash tables, Hash functions, Overflow handling. Red-Black Trees: Properties of Red-Black tree, Rotations, Insertion, Deletion. Advanced Data Structures: B-Trees, Heaps, Data structure for disjoint sets. Design and Analysis Techniques: Dynamic programming, Greedy algorithms, Examples. Graphs: Representation of graphs, Traversals: Depth first search, Breadth first search, Minimum spanning tree, Shortest paths.
- REFERENCES:
- Data Structures and Algorithms A.H. Aho, J.E. Hopocroft & J.D. Ullman.
- Fundamentals of Data Structures E. Horowitz & S. Sahni.
- Introduction to Algorithms T.H. Cormen, C.E. Leiserson & R.L. Rivest.
- Concerned Department: Mathematics