Data Structures & Algorithms

Request this training now

To develop strong foundational knowledge of data structures and algorithms to write efficient, scalable, and optimized code. Essential for software development, technical interviews, and real-world problem-solving.

Who Should Enroll:

  • Beginner level programmers
  • Undergraduate students in IT/CS or related

Prerequisites: 
Fundamental level knowledge of programming

Trainer:
Rasan Samarasinghe (Profile)

Training Fee:
Rs. 18,000.00 per participant (Method of payment)

Delivery: 
Online with live sessions or self-paced

Duration: 
24 hours

Medium: 
English

Certification:
Digital certification with the transcript upon completion

Course Modules & Structure:

1: Introduction to Algorithms and Complexity
  • What is an algorithm?
  • Understanding time and space complexity
  • Big O notation and performance analysis
    Hands-on: Compare runtime of different sorting approaches
2: Arrays and Strings
  • Array basics and memory layout
  • String manipulation techniques
  • Two-pointer approach and sliding window
    Hands-on: Implement reverse string, anagram checker, etc.
3: Linked Lists
  • Singly and doubly linked lists
  • Insertion, deletion, and traversal
  • Detecting cycles and reversing a list
    Hands-on: Build a linked list from scratch
4: Stacks and Queues
  • Stack operations and use cases (e.g., expression parsing)
  • Queues and circular queues
  • Priority queues and dequeues
    Hands-on: Implement browser history & task queue
5: Recursion and Backtracking
  • Understanding recursion and stack frames
  • Backtracking problems (e.g., permutations, Sudoku solver)
    Hands-on: Solve maze problems and N-Queens challenge
6: Trees and Binary Trees
  • Tree terminology and traversal techniques
  • Binary Search Tree (BST) operations
  • Depth-first vs Breadth-first traversal
    Hands-on: Implement and visualize BST insert/search/delete
7: Heaps and Priority Queues
  • Min-heaps and max-heaps
  • Heapify and heap sort
    Hands-on: Use heap for top-k problems
8: Hashing and Hash Tables
  • Hash functions and collision resolution
  • Dictionaries and sets
  • Real-world uses (caching, lookups, etc.)
    Hands-on: Implement your own hash map
9: Graphs and Graph Algorithms
  • Graph representations (adjacency list/matrix)
  • DFS, BFS, and shortest path algorithms (Dijkstra’s, A*)
  • Detecting cycles and topological sort
    Hands-on: Build a route finder or social network graph
10: Sorting and Searching Algorithms
  • Bubble, Selection, Insertion, Merge, Quick Sort
  • Binary search and search optimizations
    Hands-on: Visualize sorting steps and implement search
11: Dynamic Programming (DP)
  • Understanding overlapping subproblems
  • Memoization vs tabulation
  • Common DP patterns (e.g., knapsack, LIS, LCS)
    Hands-on: Solve Fibonacci, coin change, and grid path problems
12: Greedy Algorithms & Optimization
  • Greedy strategy concept and correctness
  • Interval scheduling, activity selection, Huffman encoding
    Hands-on: Build a greedy solution to job sequencing
13: Problem Solving and Interview Preparation
  • Strategy to approach coding problems
  • Pattern recognition and decomposition
  • Mock interview challenges
    Hands-on: Weekly timed coding practice with review

Request this Training

We schedule our trainings based on the requests we receive. Whether you’re an individual or a team, fill out the form below to request this course. We’ll get back to you with available dates or a custom session – group or one-on-one. Learn more.