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.
Princeton University
Spring 2023
This course surveys crucial algorithms and data structures used in modern computing, with emphasis on sorting, searching, graphs, and strings. It aims to develop implementations, understand their performance, and evaluate their effectiveness.
No concepts data
+ 25 more concepts