CS303: Algorithms

Description

This course focuses on the fundamentals of computer algorithms, emphasizing methods useful in practice. We look into the algorithm analysis as a way to understand behavior of computer programs as a function of its input size. Using the big-O notation, we classify algorithms by their efficiency. We look into basic algorithm strategies and approaches to problem solving. Some of these approaches include the divide and conquer method, dynamic programming, and greedy programming paradigms. Sorting and searching algorithms are discussed in detail as they form part of a solution to a large number of problems solved using computers. We also provide an introduction to the graph theory and graph algorithms as they are also used in many computer-based applications today. We conclude the course with a look into a special class of problems called the NP-complete problems.



Have you tried this resource? Help someone out by sharing your thoughts!

Write a review

More Ways to Learn Algorithms

Algorithmic Thinking (Part 2)
Rice University
Algorithmic Thinking (Part 2)
7th - College | Free
Algorithm Master: Python
Juni Learning
Algorithm Master: Python
7th - College | $250 Monthly
Algorithms on Strings
University of California, San Diego, Higher School of Economics
Algorithms on Strings
College | Free
Advanced Algorithms and Complexity
University of California, San Diego, Higher School of Economics
Advanced Algorithms and Complexity
College | Free