NATIONAL UNIVERSITY
of Computer & Emerging Sciences, Lahore
FASTSchoolofComputing
CS2001 – Data Structures
FALL 2023
Instructor Name: Hira Butt Email: hira.butt@nu.edu.pk
Office Location: Old-Admin Block (M-107) infront of Lab 4
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 Learning Outcomes (CLOs):
The course learning outcomes of this course are:
1. Understand basic concepts of data structure and algorithms.
2. Evaluate different data structures in terms of memory and time requirement
3. Design appropriate data structures to solve real world problems related to the program
4. Determine bugs in programs and recognize required operations with data structures
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.
(Tentative) Grading Criteria:
Assignments - (15 %) Quizzes - (10 %) Midterms - (30 %) Final Exam - (45 %) • Grading scheme for
this course is Absolute under application of CS department's grading policies. • Minimum
requirement to pass this course is to obtain at least 50% absolute marks.
Course Policies:
o Quizzes will be announced.
o All assignments and course work must be done individually.
o Plagiarism in any work (Labs, Quiz, Assignment, Midterms, and Final Exam) from any source,
Internet or a Student will result in F grade or deduction of absolute marks.
o No Late Submissions or Makeup Quizzes.
o 80% attendance is required for appearing in the Final exams.
Tentative Weekly Schedule
Lectu Topics
re
Coun
t
1 Introduction
3 Time Complexity Analysis and Asymptotic Bounds
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
Recursion: with Time complexity Analysis
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