Skip to content

Repository files navigation

🧠 DSA Course — Algorithm Analysis & Design From A to Z

Complete C++ implementations — original practice files + full algorithm references + graduation project Certificate: UC-f1592fb6-d27d-43d7-8a97-e62440d42d14 Author: mohamed towfiq makawye | Instructor: Ahmed Elrefaiy | Udemy


📁 Folder Structure (53 files)

Final-DSA-Repo/
│
├── 01_Basics/                        (11 files — math & basic problems)
├── 02_Data_Structures/               (14 files)
│   ├── Arrays/
│   ├── LinkedList/
│   ├── Stack/
│   └── Queue/
├── 03_Sorting_Algorithms/            (7 files)
├── 04_Searching_Algorithms/          (2 files)
├── 05_Recursion/                     (1 file)
├── 06_Graph/                         (1 file)
├── 07_OOP_Projects/                  (4 files)
├── 08_Competitive_Programming/       (10 files)
├── 09_Algorithm_Analysis/            (2 files — complete references)
└── project/                          (1 file — graduation project)

📂 01 — Basics

File Description
sum_1_to_n.cpp Sum from 1 to N
gcd.cpp GCD — Euclidean algorithm
lcm.cpp LCM
power_of_2.cpp Powers of 2
digits_summation.cpp Sum of digits
area_of_circle.cpp Area of a circle
simple_calculator.cpp Basic calculator
capital_case.cpp Character case
recursion_examples.cpp Recursion basics
two_numbers.cpp Two numbers problems
years_calc.cpp Years calculation

📂 02 — Data Structures

Arrays

File Description
array_operations.cpp Core array operations
array_lecture2.cpp Lecture 2 examples

Linked List

File Description
singly_linked_list.cpp Singly LL — insert/delete/reverse/search
doubly_linked_list.cpp Doubly LL — bidirectional traversal

Stack

File Description
stack_using_array.cpp Stack with array
stack_using_linked_list.cpp Stack with linked list

Queue

File Description
simple_queue.cpp Basic FIFO queue
circular_queue_array.cpp Circular queue — array
circular_queue_array2.cpp Circular queue — array v2
circular_queue_linked_list.cpp Circular queue — linked list
queue_using_linked_list.cpp Queue with linked list
priority_queue.cpp Priority queue (template)
priority_queue_linked_list.cpp Priority queue — linked list
queue_using_map.cpp Queue using map

📂 03 — Sorting Algorithms

File Algorithm Best Worst Stable
merge_sort.cpp Merge Sort O(n log n) O(n log n)
heap_sort.cpp Heap Sort O(n log n) O(n log n)
counting_sort.cpp Counting Sort O(n+k) O(n+k)
radix_sort.cpp Radix Sort O(nk) O(nk)
sort_rectangles.cpp Sort objects
sorting_practice.cpp Practice problems
complete_sorting.cpp All 7 algorithms with comparison table

📂 04 — Searching Algorithms

File Description
binary_search_sqrt.cpp Binary search for square root
complete_searching.cpp Linear + Binary search + 6 problems (first/last occurrence, rotated array, count occurrences)

📂 05 — Recursion

File Description
recursion_basic.cpp Recursive function examples

📂 06 — Graph

File Description
graph_implementation.cpp Graph with adjacency list + BFS + DFS

📂 07 — OOP Projects

File Description
oop_project.cpp / .h OOP design with header file
student_system.cpp Student management system
car_management.cpp Car management DSA task

📂 08 — Competitive Programming

Solved problems from Mansoura OJ & Codeforces sheets:

File Description
mansura_problem.cpp Mansoura OJ
sheet2.cpp Sheet 2
frequency_problem.cpp Frequency counting
set_operations.cpp Set problems
pair_of_queue.cpp Queue pair problem
sum_problem.cpp Sum problem
difference_problem.cpp Difference problem
largest_number.cpp Largest number
multiple_problem.cpp Multiple problem
ston_problem.cpp Ston problem

📂 09 — Algorithm Analysis (Complete Reference)

File Covers
time_complexity_complete.cpp T(n), Big-O, Omega, Theta, Growth Rate, Master Method, Space Complexity — Sections 2–9
data_structures_complete.cpp Array, LinkedList, Stack, Queue, Graph — complete implementations

🎓 Graduation Project: Mini Search Engine

File: project/search_engine.cpp

A fully working search engine built using every DSA concept in the course:

Feature Algorithm Complexity
Keyword lookup Inverted Index (Hash Map) O(1) avg
Result ranking Quick Sort O(n log n)
Document ID search Binary Search O(log n)
Autocomplete Trie O(L)
Related pages BFS on Graph O(V+E)
Word frequency Hash Map O(1)
g++ project/search_engine.cpp -o engine -std=c++17
./engine

🛠️ How to Run Any File

g++ <filename>.cpp -o out -std=c++17
./out

📜 Certificate

Algorithm Analysis & Design Course From A to Z [Arabic] Instructor: Ahmed Elrefaiy | Udemy | Completed: May 16, 2026 🔗 View Certificate

About

No description, website, or topics provided.

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages