What You Need to Know Before
You Start

Starts 6 June 2025 17:47

Ends 6 June 2025

00 days
00 hours
00 minutes
00 seconds
course image

Data Structures and Algorithms Design

Dive into the world of algorithm design, data structures, and analysis. Explore key structures like arrays, trees, and graphs, and master algorithmic paradigms including recursion, divide-conquer, and dynamic programming.
NPTEL via Swayam

NPTEL

125 Courses


12 weeks

Optional upgrade avallable

Intermediate

Progress at your own speed

Free Online Course

Optional upgrade avallable

Overview

ABOUT THE COURSE:

The modern economy is run by algorithms. This a first-level course to introduce the students to the world of algorithm design, data structures, analysis, and programming.

We'll start with the asymptotics notation which captures time and space of algorithms in the worst-case.The basic data structures covered are -- array, list, queue, stack, matrix, tree, heap, set, and graph. The algorithmic paradigms covered are -- induction/recursion, divide-conquer, hashing, greedy-method, and dynamic-programming.In the lectures, the theory will be backed up by numerous practical CS examples.

The content is suitable for anyone who is mathematically inclined or computationally curious.INTENDED AUDIENCE:

Computer Science & Engineering, Mathematics, Electronics, Physics, & similar disciplines.PREREQUISITES:

Very good analytical skills.INDUSTRY SUPPORT:

Discrete Optimization, Cryptography/ Cyber Security, Coding theory, Computer Algebra, Symbolic Computing Software, Artificial Intelligence, Learning Software

Syllabus

  • Course Introduction
  • Overview of Algorithms and Data Structures
    Importance and Applications in Modern Economy
  • Asymptotic Notation
  • Big O, Big Ω, and Big Θ Notations
    Analyzing Time and Space Complexity
  • Basic Data Structures
  • Arrays and Lists
    Stacks and Queues
    Matrices
    Trees
    Binary Trees
    AVL Trees
    Binary Search Trees
    Heaps
    Min-Heaps and Max-Heaps
    Heap Sort
    Sets
    Operations and Implementations
    Graphs
    Representation (Adjacency Matrix/List)
    Traversal Algorithms (DFS, BFS)
  • Algorithmic Paradigms
  • Induction and Recursion
    Mathematical Induction
    Recursive Algorithms
    Divide and Conquer
    Merge Sort
    Quick Sort
    Fast Exponentiation
    Greedy Method
    Principles and Strategies
    Applications: Kruskal’s and Prim's Algorithms
    Dynamic Programming
    Memoization vs. Tabulation
    Classic Problems: Knapsack, Fibonacci Sequence
    Hashing
    Hash Functions
    Collision Resolution Techniques
  • Practical Applications and Examples
  • Real-world Scenarios in Computer Science
    Case Studies and Problem Solving
  • Course Review and Industry Applications
  • Review of Key Concepts
    Application in Discrete Optimization, Cryptography, AI, etc.
    Future Directions and Exploration in Algorithm Design

Taught by

Prof. Nitin Saxena


Subjects

Computer Science