Skip to content

Latest commit

Β 

History

History
42 lines (30 loc) Β· 1.84 KB

File metadata and controls

42 lines (30 loc) Β· 1.84 KB

CS300 - Data Structures

This repository contains my complete homework submissions for CS300 - Data Structures at SabancΔ± University.
The course focused on the design, implementation, and analysis of fundamental and advanced data structures and algorithms in C++, with particular emphasis on efficiency, modular design, and problem-solving strategies.

πŸ‘‰ All assignments were developed, tested, and debugged using Xcode on macOS, showcasing my proficiency in using a modern IDE and toolchain for C++ software development.


🎯 Learning Objectives

Throughout this course and the work presented in this repository, I aimed to:

βœ… Implement key data structures from scratch (linked lists, trees, heaps, graphs, hash tables, disjoint sets).
βœ… Apply and analyze sorting algorithms with respect to time and space complexity.
βœ… Write efficient, clean, and modular C++ code suitable for reuse and extension.
βœ… Utilize Xcode’s toolchain and debugging capabilities for development on macOS.
βœ… Understand and apply algorithmic complexity analysis (Big-O notation).
βœ… Solve problems involving graph traversal, priority queues, and balanced trees using custom code.


πŸ“š Topics Covered

Week Topic
1 Overview and introduction
2 Algorithm complexity analysis
3 Linear data structures 1 β€” Linked lists
4 Linear data structures 2 β€” Stacks, queues
5 Trees 1 β€” Tries, binary search trees (BST)
6 Trees 2 β€” AVL trees, tree traversals
7 Hash tables
8 Heaps β€” Priority queues
10 Disjoint sets
11 Sorting 1 β€” Insertion sort, shell sort
12 Sorting 2 β€” Heap sort, merge sort, quick sort
13 Graphs 1 β€” Graph representations
14 Graphs 2 β€” Depth-first and breadth-first search