Data Structures (CS2001) Course Outline
Data Structures (CS2001) Course Outline
FASTSchoolofComputing
CS2001 – Data Structures
FALL 2023
Course Information
Program: BS(CS,SE,DS,R) Credit Hours: 3 and (1 for Lab)
Type: Core Pre-requisites: Object Oriented Programming
Course Description/Objectives/Goals:
• Introduce students with data structures and their associated algorithms.
• Introduce the concept of efficient data structures and how this efficiency can be measured. •
Prepare students to select appropriate data structure for a given computational problem.
Course Textbooks:
• Mark Allen Weiss, Data structures and algorithm analysis, Pearson Education, 2007. •
Adam Drozdek, Data structures and algorithms in C++, Course technology, 2004. • Nell
Dale, C++ Plus Data Structures, 3rd Edition, Jones and Bartlett, 2003.
• Michael T. Goodrich, Roberto Tamassia and David M. Mount, Data structures and algorithms, 2nd
Edition, John Wiley & Sons, 2011.
4 Linked Lists:
Singly linked lists, doubly linked lists, Circular lists
Link list iterators
2 Stacks:
Operations (Push, Pop)
Applications: Expression Evaluation, Backtracking,
1 Queues:
Operations (Enqueue, Dequeue)
Applications: Lee’s Algorithm, Josephus Problem
Mid 1
2
3 Trees:
Binary trees and their traversals
+ Binary search trees (Search, Insertion, and Deletion)
Height Balanced Binary Search Trees
3
AVL Trees (Insertion, Deletion)
3 Heaps:
Heaps (Insertion, Deletion and Search)
Applications:
Heap sort
Data compression and Huffman coding
Mid 2
3 Hashing:
Hash tables and hash functions
Collision resolution methods
Universal hashing (Optional)
Bit vectors and bloom filters (Optional)
3 Graphs:
Storage (Adjacency List, Adjacency Matrix)
Search: Breadth first search, Depth first search
Applications: Connection, Finding Paths, Cycles