Learn · NPTEL

Course10610469740 lectures

Data Structures and Algorithms Design

Prof. Nitin Saxena · IIT Kanpur

Start with lecture 1 At NPTEL

About

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.

Lectures

Week 1

  1. Lecture 01: What is an Algorithm? YouTube
  2. Lecture 02: Efficient Algorithms YouTube
  3. Lecture 03: Sorting, Searching and Arrays YouTube

Week 2

  1. Lecture 04: Clever Algorithms YouTube
  2. Lecture 05: Asymptotics, Fast Max-Sum Subarray YouTube
  3. Lecture 06: Local Minima in 1D YouTube

Week 3

  1. Lecture 07: Local Minima in 2D YouTube
  2. Lecture 08: Efficient Local Minima in 2D YouTube
  3. Lecture 09: Recurrence & Efficient Data Structures YouTube

Week 4

  1. Lecture 10: Range Minima in 1D array YouTube
  2. Lecture 11: Abstract Data Structures: Lists YouTube
  3. Lecture 12: Linked Lists YouTube

Week 5

  1. Lecture 13: Binary Search Inspired Tree YouTube
  2. Lecture 14: BST : Search, Insertion YouTube
  3. Lecture 15: Balancing a BST, Stack Data Structure YouTube

Week 6

  1. Lecture 16: Stack: Expression Evaluation YouTube
  2. Lecture 17: Queue DS YouTube

Week 7

  1. Lecture 18: Red Black Tree DS YouTube
  2. Lecture 19: RB Tree: Balance YouTube

Week 8

  1. Lecture 20: Divide and Conquer Paradigm YouTube
  2. Lecture 21: Integer Multiplication & Inversions YouTube
  3. Lecture 22: Graph Theory & Algorithms YouTube

Week 9

  1. Lecture 23: Graph DS & Breadth First Search YouTube
  2. Lecture 24: Complexity & Applications of BFS YouTube
  3. Lecture 25: Check Bipartiteness using BFS, Depth First Search YouTube
  4. Lecture 26: DFS tree and biconnected graph YouTube

Week 10

  1. Lecture 27: Articulation Points, Heap Data Structure YouTube
  2. Lecture 28: Binary Heap YouTube
  3. Lecture 29: Heapification YouTube
  4. Lecture 30: Augmented tree Data Structure YouTube

Week 11

  1. Lecture 31: Multi Increment and Dynamic Range Min Problems YouTube
  2. Lecture 32: Disjoint-Set Data Structure YouTube
  3. Lecture 33: Fast Union and the i-th Statistic Problem YouTube
  4. Lecture 34: i-th Statistic Problem: Approx Median YouTube
  5. Lecture 35: Greedy Algorithms: Job Scheduling YouTube

Week 12

  1. Lecture 36: Minimum Spanning Tree YouTube
  2. Lecture 37: MST Cycle, Mobile Towers YouTube
  3. Lecture 38: Shortest Path Algorithm YouTube
  4. Lecture 39: Djikstra's Algorithm YouTube
  5. Lecture 40: Counting Sort, Radix Sort YouTube

Syllabus and materials

At NPTEL, as the course publishes them.

Credits and licence

Institution
IIT Kanpur
Department
Computer Science and Engineering
Teacher
Prof. Nitin Saxena
Level
Undergraduate
Language
English
Subjects
Computer science, Engineering
Source
NPTEL
Licence
CC BY-NC-SA, as NPTEL states it. Non-commercial use only. NPTEL's terms
Attribution
NPTEL states: "Distributed under Creative Commons Attribution-ShareAlike / CC BY - NC - SA", beside a BY-NC-SA badge.
Who can watch
NPTEL gives no rating. Invisible Network shows it to Tweens profiles and older, judged from what the source says about it. How courses are placed