This course provides an in-depth exploration of data structures and their implementation using the C++ programming language. Students will learn fundamental data structures, advanced structures, and algorithmic techniques for efficient problem-solving. Practical coding exercises and projects will reinforce the understanding of each data structure.
Be able to:
Understand the importance of data structures in programming and algorithm design.
Implement basic data structures such as arrays, linked lists, stacks, and queues.
Analyze and compare the time and space complexity of different data structures.
Work with advanced data structures including trees, heaps, and hash tables.
Implement and apply various tree structures,
Apply graph algorithms for solving real-world problems.
Open Data Structure, by Pat Morin
Introduction to Algorithms, 3rd Edition
Problem Solving with Algorithms and Data Structures, by Brad Miller, David Ranum
Algorithmic Thinking, by Daniel Zingaro.
Data Structures In Depth Using C++ by Mahmmoud Mahdi (Release v6.10) (SolutionManual)
Monday {10:15-11:45 AM}[AI-2nd] @M3.
Monday {12:00-1:30 PM & 1:45-3:15 PM}[General-2nd] @Hall 2.
Tuesday {12:00-1:30 PM}[General-2nd] @Hall 2.
Tuesday {1:45-3:00PM}Â
TBD!
Telegram
Note: This is just a expected curriculum, and the specific content and objectives may change. Additionally, some topics may need to be covered in more depth, while others may need to be covered more briefly, based on the needs and skills of students.