CS2201/SC2211 Data Structure And Algorithms

Course Description

A study of the analysis of complexity of algorithms, various data structures including array, string, stack, queue, tree, graph, set and heap. The course also emphasize on the applications and analysis of algorithms developed employing the data structures mentioned above including time and memory requirement analysis of various searching, sorting algorithms.

Contents

Week Topic Worksheet
01 Introduction to the course and Python w01.01, w01.02,
w01.03, w01.04
02 Algorithms w02
03 Recursion w03
04 Array-based sequences w04
05 Stacks, Queues, Deques w05
06 Linked Lists w06
07 Trees w07
08 Red Black Trees h08a, h08b, w08
09 Heaps and Priority Queues h09a, h09b, h09c
10  Binomial Heaps
Data Structures for Disjoint Sets
 h10a, h10b
w10a, w10b
11 Elementary Graph Algorithm
Adjacency List, BFS
 h11a, h11b, 
w11
12 Elementary Graph Algorithm (cont’d)
DFS, Topology Sort
h12
w12
13 Minimum Spanning Trees h13
w13
14 Shortest Path  h14
w14
15 Additional Materials h15a, w15a
h15b, h15c, h15d