This course focuses on understanding and implementing a variety of data structures ranging from basic to advanced, primary algorithms, and time and input/output complexity analysis. The purpose of this course to not only learn those data structures, but also implement them in C/C++ program.
Lecture 2: C++ basics.
Lecture 3: Implementing matrix matrix multiplication to help learn C++ basics.
Lecture 4: Pointer and address.
Lecture 5: Naive version of linked list where the inserted record is always at the second from the header.
Lecture 6: Search (Linear and binary search).
Lecture 7: Based upon lecture 6 + Making the array random ordered, adding qsort for binary search, adding functionalities of multiple queries.
Lecture 8: Time complexity understanding via testing algorithms with complexity of O(logN), O(N), O(NlogN) and O(N^2). These algorithms are binary search, linear search, QuickSort and matrix vector multiplication.
Lecture 9: Tree and binary search tree.
Lecture 10: Implementation of building a binary tree.
Lecture 11:
Lecture 12: Binary search tree (mainly insertion, and pre/in/post order traversal).
Lecture 13: Deletion of a vertex in binary search tree.
Dr. Hang Liu: [email protected]