Data Structure

Course Description: Study of the basic data structures and their implementations: Arrays, matrices, stacks, queues, hash tables, trees, lists, and graphs. Programming techniques using recursion. Various searching and sorting methods such as insertion sort, merge sort, and quick sort. Basic analysis of algorithms.

Course Objectives: To get accustomed to and be able to use common algorithms used in programming. External memory algorithms and data structures for sorting and searching, advanced algorithms for graphs.

COURSE OUTLINE:

Week 1: Intro. to Course

Week 2: Algorithm Analysis

Week 3: Recursion

Week 4: Array-Based Sequences

Week 5: Stacks, Queues, and Deques

Week 6: Linked List

Week 7: Trees: Generic Trees, Binary Trees,

Week 8: MIDTERM EXAM

Week 9: Tree Traversals, Red Black Trees

Week 10: Sorting: Merge Sort, Heap Sort

Week 11: Sorting: Quick Sort, Bucket Sort

Week 12: Mapping, Hashing

Week 13: Graph Data Structure

Week 14: Prim`s Algorithm, Kruskal`s Algorithm, Dijkstra Algorithm

Lab Assignments

Week 1: Fundamentals of Python - I

Week 2: Fundamentals of Python - II

Week 3: