/DSA

Primary LanguagePython

Data Structure and Algorithm

This course is offered by NYU Tandon school of Eningeering(All the concepts are the same as Design and Analysis of Algorithms I(Tandon Engineering)/ Fundamental Algorithms(Courant CDS)/ Fundamental Algorithms(Courant CS)). I took this course at 2021 Fall semester with Liu Yong as the instructor. This course has the same schedule and course materials as the MIT advanced data structure. I post all the course materials and exam paper to this repository.

Tentative Schedule

• Week 1: Introduction to algorithm: correctness and performance. Best-, worst-, and average-case performance. Asymptotic notation: big-O, big-Ω, and big-Θ; little-o, and little-ω.

• Week 2: Recurrence and solving methods: iteration, substitution and master theorem

• Week 3: Divide and conquer algorithms, introduction to sorting: insertion sort, bubble sort

• Week 4: Sorting: MergeSort, Heap and HeapSort,

• Week 5: Sorting: quick sort, randomized algorithms, lower bound for comparison sorting, counting sort and radix sort, order statistics and selection

• Week 6: Hashing and Universal Hashing, Binary search trees

• Week 7: Binary search trees (cont.d), midterm review

• Week 8: Midterm Exam

• Week 9: Graph basics, Breath-First Search, Depth-First Search

• Week 10: Directed-acyclic graph and topological ordering, strongly connected components,

• Week 11: Intro to dynamic programming, greedy algorithm

• Week 12: Greedy algorithm, Huffman coding, Minimum Spanning Tree

• Week 13: Single-source shortest paths, all-pairs shortest paths

• Week 14: NP-Completeness and Final Review

• Week 15: Final Exam

Comment

Great professor and well scheduled lectures. 12 Assignments help you get more familiar with the concepts. Great mid/final exam papers combining easy questions(Basic concepts) and extremly difficult questions together(Last two questions eg: Dynammic Programming, graphic data structure proof, analysis of new data structure).

All the algorithm and code are pseudocode. Personally, I think this course will be better to reduce the assignments and replace them to Java implementation/LAB of the data structure.

Final Grade

Only 10% student get A in Liu Yong's course.