Course Overview
|
Course Synopsis
|
Data Structures is a core course in a typical undergraduate Computer Science Curriculum. The topics covered in the course are among the most fundamental material in all of computer science. The course prepares the students for (and is a prerequisite for) the more advanced material students will encounter in later courses. The course will cover well-known data structures such as dynamic arrays, linked lists, stacks, queues, tree, heap, disjoint sets and table. Three goals will be accomplished:
(1) Implement these structures in C++
(2) Determine which structures are appropriate in various situations
(3) Confidently learn new structures beyond what''s presented in this class
|
Course Learning Outcomes
|
At the end of the course, you should be able to:
- Understand Abstract Data Types such as Lists, Queues etc.
- Understand and program Stack operations (Push, Pop, isEmpty)
- Understand and implement Queue Operations (Insert, Remove) using Linked Lists
- Describe binary Trees
- Know about height balanced trees and application of trees
|
Course Calendar
|
4
|
Linked List and Its Types
|
7
|
Infix and Postfix Expressions
|
8
|
Implementation of Stack
|
Assignment No. 1
12
|
Implementation of Binary Tree
|
Quiz No. 1
15
|
Level-order Traversal of a Binary Tree
|
Assignment No. 2
16
|
Deleting a Node from BST
|
18
|
Usage of const keyword
|
Quiz No. 2
22
|
AVL Tree Rotations [1/2]
|
23
|
AVL Tree Rotations [2/2]
|
Midterm Examination
27
|
Properties of Binary Tree
|
28
|
Inorder Traversal in Threaded Trees
|
31
|
Implementation of Heap
|
33
|
Uses of Heap & Disjoint Set ADT
|
Graded Discussion Board
35
|
Dynamic Equivalence Problem
|
36
|
Union and Find Operations of Disjoint Set ADT
|
Quiz No. 3
37
|
Image Segmentation & Maze Generation
|
39
|
Searching an Array: Binary Search
|
Quiz No. 4
41
|
Skip List (cont..) & Hashing
|
42
|
Collision Resolution Methods in Hashing
|
43
|
Applications of Hashing
|
45
|
Sorting and Course Overview
|
Final Term Examination
|
|
|