CS203-Data Structures
Degree Program: BSCS, BSAI
Credit Hours: 4(3-1)
Prerequisite(s):-Â
Course Description:
This course provides fundamental knowledge of data organisation, focusing on data structures such as linked lists, stacks, queues, trees, graphs, sorting algorithms, searching techniques, hashing, and the analysis of algorithmic time complexity.
Aims and Objectives:
After completing the course, students will be able to:
Discuss the issues of time complexity and analyse various algorithms from this perspective.
Introduce and utilise abstract data structures including linked lists, stacks, queues, priority queues, trees, and graphs.
Implement data structures and demonstrate their applications.
Understand recursion and its applications in trees and graphs.
Analyse the efficiency of algorithms in terms of time complexity.
Learning Outcomes:
By the end of this course, students will be able to:
Explain the concepts of time complexity and its importance in algorithm analysis.
Implement various data structures such as linked lists, stacks, queues, trees, and graphs.
Apply data structures to solve practical problems and demonstrate their efficiency.
Utilise recursion effectively in solving problems related to trees and graphs.
Evaluate and analyse the time complexity of algorithms.
Recommended Text:
A Common-Sense Guide to Data Structures and Algorithms by Jay Wengrow, Pragmatic Bookshelf, 2020.
Secondary Texts:
Data Structures and Algorithm Analysis in C++ by Mark Allen Weiss, Addison-Wesley, 2014.
Other Readings/Notes:
Additional mandatory reading material will be provided over the semester.