Data Structures & Algorithms


Data Structure is a way of collecting and organising data in such a way that we can perform operations on these data in an effective way. Data Structures is about rendering data elements in terms of some relationship, for better organization and storage.
An algorithm is a finite set of instructions or logic, written in order to accomplish a certain predefined task. Algorithm is not the complete code or program, it is just the core logic(solution) of a problem, which can be expressed either as an informal high-level description as pseudocode or using a flowchart.


  • Complexity analysis + Array + Amortized Complexity analysis + Dynamic array
  • Linked list (Singly and Doubly)
  • Stack + Queue
  • Sorting algorithms (Selection sort + Insertion sort + Bubble sort + Count sort) + Divide & Conquer (Binary search + Merge sort + Quick sort)
  • Binary tree + recursion
  • Hash Map
  • Heap + Heap sort
  • Graph + Graph traversal (Breadth first search + Depth first search)
  • String + Dynamic programming + Greed


Programming in C or C++


Eng. Abo-Elhamd Ali
Eng. Mennatallah samier

Course length

The course consists of 7 sessions
Each session is 3 hours


Members: 110
Non-members: 120

© IEEE SSCS Alexandria Student Chapter 2019–2020