IIT KGP

CS21203     Algorithms I

Autumn 2024

Course Overview

Asymptotic notations and their significance, introduction to RAM model of computation, complexity analysis of algorithms, worst case and average case.

Basic introduction to algorithmic paradigms like divide and conquer, recursion, greedy, etc.

Searching: binary search trees, balanced binary search trees, AVL trees and red-black trees, B-trees, skip lists, hashing.

Priority queues, heaps, Interval trees, tries.

Order statistics.

Sorting: comparison based sorting - quick sort, heap sort, merge sort: worst and average case analysis.

Decision tree model and (worst case) lower bound on sorting.

Sorting in linear time - radix sort, bucket sort, counting sort, etc.

String matching.

Graph Algorithms: BFS, DFS, connected components, topological sort, minimum spanning trees, shortest paths - single source and all pairs.

CS21203 [Theory]

  • Wednesday (10:00–10:55 am)
  • Thursday (09:00–09:55 am)
  • Friday (11:00 am–12:55 pm)

  • Venue
  • NC442 (Roll no.s ending with odd digits)
  • NC443 (Roll no.s ending with even digits)


  • CS21209 [Lab]

  • Thursday (02:00–05:00 pm)

  • Venue
  • Software Lab and PC Lab-II


  • Lectures
    Date Topic Course Materials
    24 Jul, 2024 Introduction 01_Introduction.pptx
    25,26 Jul, 2024 Analysis 02_Analysis.pptx
    31 Jul, 1,2,7,8 Aug, 2024 Divide and Conquer, Recursion 03_Recursion_DAC.pptx
    14,16,21 Aug, 2024 Greedy Algorithms 04_Greedy.pptx
    22,23,28 Aug, 2024 Dynamic Programming 05_DP.pptx
    30 Aug, 4,6 Sep, 2024 Trees 06_Trees.pptx
    26,27 Sep, 3 Oct, 2024 Priority Queues and Heaps 07_Priority_Queues_Heaps.pptx
    16,17,18 Oct, 2024 Hashing 08_Hashing.pptx

    Graphs-I
    Graphs-II
    09_Graphs_I.pptx
    09_Graphs_II.pptx
    Instructors

    Owais Iqbal

    owais.iqbal@kgpian.iitkgp.ac.in

    Rahul Barman

    barmanrahul@kgpian.iitkgp.ac.in

    Animesh Singh

    sanimesh005@kgpian.iitkgp.ac.in

    Dipan Mandal

    mandaldipan@kgpian.iitkgp.ac.in

    Soham Banerjee

    bsoham58@kgpian.iitkgp.ac.in

    Vivek Das

    vivek.das@kgpian.iitkgp.ac.in

    Sumit Dwivedi

    sumitdwivedi49@kgpian.iitkgp.ac.in

    Rahul Ram

    rahulram00925@kgpian.iitkgp.ac.in

    Kulkarni Pranav Suryakant

    pranavkulkarni610@kgpian.iitkgp.ac.in

    Roopak Priyadarshi

    priydarshiroopak@kgpian.iitkgp.ac.in

    Grace Sharma

    grace@kgpian.iitkgp.ac.in

    References
  • Thomas H Cormen, Charles E Lieserson, Ronald L Rivest and Clifford Stein, Introduction to Algorithms.
  • Jon Kleinberg and Éva Tardos, Algorithm Design, Pearson, 2005.
  • Sanjoy Dasgupta, Christos H. Papadimitriou and Umesh V. Vazirani, Algorithms, Tata McGraw-Hill, 2008.
  • Jeff Erickson, Algorithms, 2019.
  • Mark Allen Weiss, Data Structures and Algorithm Analysis in C.