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: