Data Structures and Algorithms
- Analyse the time and space complexity of code using Big-O notation.
- Implement linked lists, stacks, queues and hash tables and choose between them for a given task.
- Build and traverse binary search trees and heaps and explain their performance characteristics.
- Apply breadth-first search, depth-first search and Dijkstra's algorithm to graph problems.
- Implement and compare sorting algorithms such as merge sort, quicksort and heap sort.
- Solve optimisation problems using recursion, greedy approaches and dynamic programming.
- Complexity Analysis
- Big-O, Big-Theta and Big-Omega
- Time and space trade-offs
- Amortised analysis
- Linear Data Structures
- Arrays and dynamic arrays
- Linked lists
- Stacks and queues
- Hashing and Trees
- Hash tables and collision handling
- Binary search trees and balancing
- Heaps and priority queues
- Graphs
- Graph representations
- BFS and DFS
- Shortest paths and minimum spanning trees
- Sorting and Searching
- Comparison sorts and their complexity
- Binary search and variants
- Choosing sorting methods in practice
- Algorithm Design Techniques
- Recursion and divide and conquer
- Greedy algorithms
- Dynamic programming
الحصول على الكتيب
للحصول على كتيب بكامل محتويات الدورة برجاء ملء النموذج التالي ببياناتك الصحيحة

Program Professional Framework
Data Structures and Algorithms
Program Overview
Efficient software depends on choosing the right way to store and process data. This programme builds a working command of the core structures and algorithms used in professional development: complexity analysis with Big-O notation, arrays and linked lists, stacks and queues, hash tables, trees, heaps and graphs, sorting and searching algorithms, recursion, divide and conquer, greedy methods and dynamic programming. Participants implement each topic in Python or Java and apply it to realistic performance problems and technical interview style exercises.
Learning Outcomes
- ✓Analyse the time and space complexity of code using Big-O notation.
- ✓Implement linked lists, stacks, queues and hash tables and choose between them for a given task.
- ✓Build and traverse binary search trees and heaps and explain their performance characteristics.
- ✓Apply breadth-first search, depth-first search and Dijkstra's algorithm to graph problems.
- ✓Implement and compare sorting algorithms such as merge sort, quicksort and heap sort.
- ✓Solve optimisation problems using recursion, greedy approaches and dynamic programming.
Target Audience
- Software developers and engineers
- Computer science graduates entering industry
- Data engineers who write performance-sensitive code
- Developers preparing for technical interviews
Detailed Program Modules
01Complexity Analysis
- Big-O, Big-Theta and Big-Omega
- Time and space trade-offs
- Amortised analysis
02Linear Data Structures
- Arrays and dynamic arrays
- Linked lists
- Stacks and queues
03Hashing and Trees
- Hash tables and collision handling
- Binary search trees and balancing
- Heaps and priority queues
04Graphs
- Graph representations
- BFS and DFS
- Shortest paths and minimum spanning trees
05Sorting and Searching
- Comparison sorts and their complexity
- Binary search and variants
- Choosing sorting methods in practice
06Algorithm Design Techniques
- Recursion and divide and conquer
- Greedy algorithms
- Dynamic programming
Training Methodology
Applied Project & Assessment
Applied Project
Participants solve a set of applied problems, such as route planning, task scheduling and duplicate detection, by selecting suitable data structures and algorithms, implementing them with tests and documenting complexity analysis and performance measurements.
Assessment
Short diagnostic at the start, practical tasks linked to each learning outcome, and evaluation of the applied project against published criteria.


