Data Structures and Algorithms Outline: Textbook
Data Structures and Algorithms Outline: Textbook
Outline
Course Objectives
To introduce the basic theory of complexity and data structures as basic building blocks.
To develop the skills to analyze time (and space) requirements for a data structure and
associated algorithms.
To prepare the students to pick the right data structure for a given problem.
Textbook
E. Horowitz, S. Sahni, and D. Mehta, Fundamentals of Data Structures in C++, Computer
Science Press, 1995.
Grading Scheme
Midterm
20%
Quizzes
4-5
15%
Assignments
5-6
20%
Lab Tests
2-3
10%
Final
35%
Topic
Introduction, Review of C++
Classes
Performance analysis and
measurement
Arrays, Multi-dimensional Arrays
and mapping functions
Stacks using arrays, Recursion,
quick sort
Queues using arrays, Evaluation of
expressions
Singly-linked lists
Stacks and queues using lists
Circular & Doubly-linked lists
Trees binary trees & traversals
Binary search trees
Height balanced trees 2-3-4 trees
Heap & priority queue, Heap Sort
Hashing
Graphs basic operations and
traversal, MST
Final
No. of
Lectures
2
Chapter 1
Chapter 2
Chapter 3
2
2
2
1
2
2
2
2
2
2
2
Chapter 4
Chapter 5
Chapter 5
Chapter 6
Chapter 7
Chapter 8
Miscellaneous
Academic integrity is expected of all the students. Plagiarism or cheating in any assessment
will result in at least an F grade in the course, and possibly more severe penalties.
Knowledge of C++ (including pointer & classes) is assumed for this course. All code
written in examinations, assignments and homeworks must be in C++.