Course Discription |
:
This course is an introductory course to the design, implementation and analysis of computer algorithms. Topics covered include but not limited to the growth of functions, the time complexity of algorithms, recurrence relations and their solutions, the design and analysis of various sorting algorithms (insertion, merge, quick, and heap sort), linear sorts, search and hash tables, graph searching algorithms (breadth-first and depth-first search), dynamic programming, greedy algorithms, minimal spanning trees, single-source shortest path algorithms, and NP completeness (time allows). |