CS2201 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.

Resources and Discussion

Join Slack: AUCS-Students

Contents

Week Topic Worksheet
01 Introduction Introw01.01, w01.02,
w01.03, w01.04
02 Algorithms
Math Foundation
Notes
w02
03 Recursion
Divide and Conquer
w03
04 Heaps
Priority Queue
w04
05 Quick sort
Linear time sort
w05
06 Algorithm Implementation w06
** Assignment 1 **
InsertionSort (Notebook, PY)
07 Dynamic Sets, Stacks, Queues w07
Notebooks
MIDTERM EXAM
08 Hash Table w08
Notebook
09 Binary Search Trees
Red Black Trees
w09a
w09b
Visualisation
*** Assignment 2 ***
10 Binomial Heaps  w10
*** Term Project ***
11 Data Structures for Disjoint Sets w11
12 Elementary Graph Algorithm
Adjacency List, BFS
w12
Algorithms
13 Elementary Graph Algorithm (cont’d)
DFS, Topology Sort
w13
14 Minimum Spanning Trees w14
15 Shortest Path w15
FINAL EXAM

Term Projects 2/2017

Term Projects 1/2017