Choose your language
DSA Course
More than 2 million students worldwide

DSA Course

4.4

Master every major data structure and algorithm you need to excel in technical interviews and real-world engineering. This course takes you from arrays and recursion all the way to dynamic programming, graphs, and advanced structures like segment trees and tries. Whether you are targeting top-tier companies or levelling up your engineering skills, this is the complete DSA toolkit.

Dedika for businesses

What you will learn:

You will build a deep understanding of core data structures including arrays, linked lists, trees, heaps, and hash tables. You will learn to analyse algorithm efficiency using Big-O notation and apply that knowledge to write faster, leaner code. The course covers essential algorithms for sorting, searching, graph traversal, and shortest-path problems. You will master dynamic programming techniques to solve classic optimisation problems like knapsack and edit distance. Advanced topics include segment trees, tries, union-find, and greedy algorithm design. You will also practise coding interview strategies, debugging methods, and clean code communication skills.

How you study in practice DSA Course

How you practise DSA Course

For businesses looking to train their team

With Dedika for businesses, the course includes exercises and examples tailored to your own business and the way your company needs.

Click here

Course content

8 Chapters • 38 LessonsDuration between 4 and 360 hours (you decide)

Chapter 1See details

Foundations of Data Structures

  • Lesson 1 • Introduction to Data Organisation

    Covers primitive vs. composite data types and memory layout concepts. Establishes vocabulary used throughout the course.

  • Lesson 2 • Arrays and Strings

    Examines contiguous memory storage via arrays and character sequences. Connects indexing mechanics to later search and sort algorithms.

  • Lesson 3 • Complexity Analysis Basics

    Introduces Big-O, Big-Theta, and Big-Omega notations for evaluating efficiency. Enables students to compare data structure operations quantitatively.

  • Lesson 4 • Stacks and Queues

    Defines LIFO and FIFO access patterns and their implementations. Demonstrates real-world use cases such as expression parsing and scheduling.

  • Lesson 5 • Linked Lists Fundamentals

    Introduces node-pointer structures for dynamic data storage. Provides the basis for understanding stacks, queues, and trees.

Chapter 2See details

Recursion and Problem Decomposition

  • Lesson 1 • Classic Recursive Algorithms

    Applies recursion to factorial, Fibonacci, and power functions. Reinforces pattern recognition for recursive problem solving.

  • Lesson 2 • Recursive Thinking Fundamentals

    Establishes base cases, recursive cases, and call-stack behaviour. Builds intuition needed before tackling tree and graph algorithms.

  • Lesson 3 • Divide and Conquer Strategy

    Formalises splitting problems into independent halves and merging results. Prepares students for merge sort and quick sort in the next chapter.

  • Lesson 4 • Backtracking Techniques

    Teaches systematic exploration of solution spaces with pruning. Connects to constraint satisfaction and combinatorial problems.

Chapter 3See details

Sorting and Searching Algorithms

  • Lesson 1 • Efficient Comparison-Based Sorts

    Implements merge sort and quick sort using divide and conquer. Analyses average and worst-case performance differences between the two.

  • Lesson 2 • Elementary Sorting Algorithms

    Covers bubble, selection, and insertion sort with step-by-step traces. Establishes baseline complexity benchmarks for comparison with advanced sorts.

  • Lesson 3 • Non-Comparison Sorting Methods

    Introduces counting sort, radix sort, and bucket sort for linear-time sorting. Shows when integer or bounded-range data enables sub-quadratic guarantees.

  • Lesson 4 • Sorting Algorithm Selection

    Guides decision-making based on data size, type, and memory constraints. Synthesises chapter content into a practical selection framework.

  • Lesson 5 • Searching Algorithms

    Covers linear search, binary search, and interpolation search with complexity analysis. Connects search efficiency to data structure choice.

Chapter 4See details

Trees and Hierarchical Structures

  • Lesson 1 • Binary Tree Traversals

    Implements in-order, pre-order, post-order, and level-order traversals. Connects traversal choice to specific output requirements such as sorted output.

  • Lesson 2 • Binary Search Trees

    Covers BST insertion, deletion, and search with complexity analysis. Demonstrates how ordering invariants enable efficient lookup.

  • Lesson 3 • Heaps and Priority Queues

    Builds min-heaps and max-heaps using array representation and heap operations. Connects heap structure to heap sort and priority-based scheduling.

  • Lesson 4 • Balanced BSTs and AVL Trees

    Introduces height-balancing via AVL rotations to maintain O(log n) guarantees. Prepares students for red-black trees and B-trees in advanced topics.

  • Lesson 5 • Tree Terminology and Properties

    Defines nodes, edges, height, depth, and degree in tree structures. Provides shared vocabulary for all subsequent tree and graph content.

Chapter 5See details

Hashing and Hash Tables

  • Lesson 1 • Hash Table Operations and Analysis

    Implements insert, delete, and search with amortised complexity analysis. Connects theoretical guarantees to practical implementation decisions.

  • Lesson 2 • Advanced Hashing Applications

    Explores consistent hashing, Bloom filters, and cryptographic hash use cases. Extends hash table knowledge to distributed and probabilistic systems.

  • Lesson 3 • Collision Resolution Strategies

    Compares chaining and open addressing techniques for handling collisions. Analyses load factor impact on performance for each strategy.

  • Lesson 4 • Hash Function Design

    Covers division, multiplication, and polynomial rolling hash methods. Establishes criteria for a good hash function: uniformity and efficiency.

Chapter 6See details

Graphs and Graph Algorithms

  • Lesson 1 • Advanced Graph Topics

    Introduces topological sort, strongly connected components, and network flow basics. Prepares students for algorithm design problems in competitive and applied contexts.

  • Lesson 2 • Graph Representation and Terminology

    Defines directed, undirected, weighted, and cyclic graphs with adjacency structures. Establishes the representation choices that affect algorithm efficiency.

  • Lesson 3 • Minimum Spanning Trees

    Implements Kruskal and Prim algorithms using union-find and priority queues. Connects MST concepts to network design and clustering applications.

  • Lesson 4 • Graph Traversal Algorithms

    Implements BFS and DFS with explicit queue and stack management. Applies traversals to connectivity detection and cycle identification.

  • Lesson 5 • Shortest Path Algorithms

    Covers Dijkstra, Bellman-Ford, and Floyd-Warshall for single-source and all-pairs paths. Analyses correctness conditions including negative edge handling.

Chapter 7See details

Dynamic Programming

  • Lesson 1 • DP on Trees and Graphs

    Extends DP to tree structures and DAG-based problems. Connects graph traversal knowledge to state-space DP formulations.

  • Lesson 2 • DP on Sequences and Intervals

    Applies DP to longest increasing subsequence and interval scheduling problems. Extends pattern recognition to two-pointer and binary search optimisations.

  • Lesson 3 • DP Principles and Memoisation

    Defines overlapping subproblems and optimal substructure as DP prerequisites. Introduces top-down memoisation as the first implementation strategy.

  • Lesson 4 • Bottom-Up Tabulation

    Converts memoised solutions into iterative table-filling approaches. Demonstrates space optimisation by reducing table dimensions.

  • Lesson 5 • Classic DP Problems

    Solves longest common subsequence, knapsack, and edit distance problems. Builds a reusable pattern library for recognising DP problem types.

Chapter 8See details

Advanced Data Structures and Algorithm Design

  • Lesson 1 • Trie and Suffix Structures

    Implements prefix trees for fast string search and autocomplete. Introduces suffix arrays for pattern matching in large text corpora.

  • Lesson 2 • Segment Trees and Fenwick Trees

    Builds range query and point update structures for efficient interval operations. Compares segment trees and Fenwick trees by implementation complexity and use case.

  • Lesson 3 • Amortised Analysis and Advanced Topics

    Applies aggregate, accounting, and potential methods to analyse data structure sequences. Introduces skip lists and self-adjusting structures as advanced alternatives.

  • Lesson 4 • Union-Find and Disjoint Sets

    Implements union by rank and path compression for near-constant-time operations. Applies union-find to dynamic connectivity and Kruskal MST.

  • Lesson 5 • Greedy Algorithm Design

    Formalises greedy choice property and exchange argument proofs. Solves activity selection, Huffman coding, and interval problems greedily.

Certification

Your valid completion certificate

This course is for you:

  • Computer science student: seeking structured depth beyond what lectures typically provide.

  • Self-taught developer: ready to fill the algorithmic gaps holding back career growth.

  • Bootcamp graduate: needing the CS fundamentals that intensive programmes often skip entirely.

  • Software engineer: preparing to pass technical screens at highly competitive technology companies.

  • Career changer: moving into software development and building a rigorous technical foundation.

  • Competitive programmer: looking to systematise problem-solving patterns for timed contest environments.

What our students say

Your lessons are perfect. I purchased the one-year package and finally have the opportunity to follow various topics of interest without needing to change platforms... I'm grateful for everything you do, I've already recommended you to other people...
Giulio Carlo
Giulio CarloDigital Marketing Student
I like how the lessons are straight to the point and how I can change chapters and skip content I don't need.
Mariana Ferres
Mariana FerresPhotography Student
I like the content and the way videos are presented and transcribed, which speeds up the process!
Luciana Alvarenga
Luciana AlvarengaNail Design Student
The platform is fast and simple to use. The diversity of content and complementary videos really help with learning.
André Felipe
André FelipePrompt Engineering Student

Top qualifications

FAQ

Who is Dedika?

Is the certificate valid in the United Kingdom?

Are the courses free?

What is the course workload?

What are the courses like?

How do the courses work?

What is the duration of the courses?

What is the cost or price of the courses?

What is an EAD or online course and how does it work?

PDF Course