401313 - Principles of Computer Algorithms |
---|
Credit Hours3 Pre-requisite401212 Co-requisite- Distribution3+0 |
This course examines techniques for the design and analysis of efficient algorithms useful in practice. Topics covered include: sorting (bubble, insertion, heap, merging, quick, etc.), search trees, hashing, and dynamic programming, graph algorithms (shortest paths, network flow, coloring, etc.) and NP-complete problems. Throughout the course there is a focus on performance, computational complexity, and actual implementation of the studied algorithms using C#, C++, and/or Java. |