🧠 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)
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
File
Description
array_operations.cpp
Core array operations
array_lecture2.cpp
Lecture 2 examples
File
Description
singly_linked_list.cpp
Singly LL — insert/delete/reverse/search
doubly_linked_list.cpp
Doubly LL — bidirectional traversal
File
Description
stack_using_array.cpp
Stack with array
stack_using_linked_list.cpp
Stack with linked list
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)
File
Description
recursion_basic.cpp
Recursive function examples
File
Description
graph_implementation.cpp
Graph with adjacency list + BFS + DFS
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
g++ < filename> .cpp -o out -std=c++17
./out
Algorithm Analysis & Design Course From A to Z [Arabic]
Instructor: Ahmed Elrefaiy | Udemy | Completed: May 16, 2026
🔗 View Certificate