Select the desired Level or Schedule Type to find available classes for the course. |
CMPS 345 - ANALYSIS OF ALGORITHMS |
This course provides a comprehensive introduction to computer algorithms. The emphasis is on the design of efficient algorithms and data structures, proofs of their correctness, and analysis of their complexity. A number of algorithmic concepts and techniques are covered, including recursion, incremental design, divide-and-conquer, greedy algorithms, amortized analysis, and dynamic programming. The algorithms studied include sorting, searching, breadth-first search, depth-first search, minimum spanning trees, shortest paths, network flow, and string matching. Data structures studied include hash tables, heaps, binary search trees, and red-black trees. This course is meant as a follow-up to a course in data structures. Knowledge of elementary data structures such as stacks, queues, and linked lists are assumed. In addition, a module will be given on algorithms relevant to bioinformatics, which studies molecular sequence data (DNA, RNA, and protein). Much of the material learned in this course, such as graphs, trees, dynamic programming, and search algorithms apply to this new discipline.
0.000 TO 4.000 Credit hours 0.000 TO 4.000 Lecture hours Levels: Undergraduate Schedule Types: Lecture Computer Science Department Restrictions: Must be enrolled in one of the following Levels: Undergraduate Prerequisites: FOR CMPS 345 General Requirements: Course or Test: CMPS 231 Minimum Grade of D May not be taken concurrently. |
Return to Previous | New Search |