mirror of
https://github.com/jackyzha0/quartz.git
synced 2025-12-24 05:14:06 -06:00
28 lines
896 B
Markdown
28 lines
896 B
Markdown
---
|
|
title: "asymptotic-notation"
|
|
aliases: Big O, Big Theta, Algorithm Analysis
|
|
tags:
|
|
- cosc201
|
|
---
|
|
|
|
Asymptotic notations are used in computer science to classify algorithms based how its space and time requirements grow as the input grows.
|
|
|
|
|
|
# big O notation
|
|
|
|
Big O defines a bound for the *upper* bound of the running time (or space) of a algorithm. However, it is possible that the actual running time is much less as it does not take into account special cases ^fb2c3f
|
|
|
|
|
|
## 1 Formal definition
|
|
|
|
$f(n) = O(g(n))$ if there is some constant $A$ such that $f(n) < A \times g(n)$
|
|
|
|
|
|
# big theta notation
|
|
|
|
Big theta defines an *upper and a lower* bound for a the running time (or space) of an algorithm.
|
|
|
|
|
|
## 2 Formal definition
|
|
|
|
$f(n) = \theta(g(n))$ if there are some constants $A$ and $B$ where $0 < B < A$ such that for all sufficiently large $n$, $B \times g(n) \geq f(n) \leq A \times g(n)$ |