Analysis of algorithms is the process of determining the computational complexity of algorithms, which is the amount of resources needed to execute them. It involves finding a function that relates the size of an input to the number of steps or storage locations used. Algorithm efficiency is determined by how quickly this function grows with increasing input size. Donald Knuth coined the term "analysis of algorithms" and it is part of computational complexity theory. Big O notation is used to estimate the complexity of algorithms in the asymptotic sense. Exact measures of efficiency can be computed but require certain assumptions about the implementation.
University of Washington
Summer 2022
This course focuses on common data structures and algorithms. It integrates theoretical understanding with practical exercises, preparing students for software-related roles and industry technical interviews. Programming projects, unit testing, and source control techniques are emphasized.
No concepts data
+ 27 more conceptsStanford University
Spring 2023
This course offers a thorough understanding of probability theory and its applications in data analysis and machine learning. Prerequisites include CS103, CS106B, and Math 51 or equivalent courses.
No concepts data
+ 24 more concepts