Week09 notes

Complexity

n log(n) is closer to n

In real world applications, log(n)\log(n) can never be a very large number.

Max memory supported by a 64 bit computer

Imagine on a 64 bit computer, the maximum supported memory size

N=264N=2^{64}, which is 16,777,216TB1716,777,216 TB \approx 17 billion billion bytes

Estimated number of stars in the unverse:

102210^{22} ~ 102410^{24}, i.e. 10~1000 trillion billion stars

N=1,000,000,000,000,000,000,000,000N = 1,000,000,000,000,000,000,000,000 stars, or a "1" with 24 zeros

log10N=24log_{10} N = 24, log2N80log_2 N \approx 80

Estimated number of atoms in the universe

N=1080 N = 10^{80}

log10N=80log_{10} N = 80, log2N266log_2 N \approx 266

Web

Google's web index is estimated to contain around 400 billion documents in 2020

N=400,000,000,000 N = 400,000,000,000

log10N=11.6log_{10} N = 11.6, log2N38.54log_2 N \approx 38.54

Complexities of Common Sorting Algorithms

Algorithm

Time Complexity

Worst Space Complexity

In place

Stability

Average

Best

Worst

O(n2)O(n^2)

O(n2)O(n^2)

O(n2)O(n^2)

O(1)O(1)

Y

N

O(n2)O(n^2)

O(n)O(n)

O(n2)O(n^2)

O(1)O(1)

Y

Y

O(n2)O(n^2)

O(n)O(n)

O(n2)O(n^2)

O(1)O(1)

Y

Y

O(nlog(n)) O(n \log(n))

O(nlog(n))O(n \log(n))

O(nlog(n))O(n \log(n))

O(1) O(1)

Y

N

O(nlog(n)) O(n \log(n))

O(nlog(n)) O(n \log(n))

O(n2)O(n^2)

O(n)O(n) Best O(log(n))O(\log(n))

N

N

O(nlog(n)) O(n \log(n))

O(nlog(n))O(n \log(n))

O(nlog(n)) O(n \log(n))

O(n)O(n)

N

Y

O(n+k)O(n +k)

O(n+k)O(n +k)

O(n2)O(n^2)

O(n)O(n)

N

Y

O(nk)O(nk)

O(nk)O(nk)

O(nk)O(nk)

O(n+k)O(n + k)

N

Y

O(n+k)O(n +k)

O(n+k)O(n +k)

O(n+k)O(n +k)

O(k)O(k)

N

Y

O(nlog(n)) O(n \log(n))

O(nlog(n))O(n \log(n))

O(n2) O(n^2)

O(1)O(1)

Y

N

O(nlog(n))O(n \log(n))

O(n)O(n)

O(nlog(n)) O(n \log (n))

O(n)O(n)

N

Y

O(nlog(n)) O(n \log(n))

O(nlog(n))O(n \log(n))

O(n2)O(n^2)

O(n)O(n)

N

N

O(nlog(n))O(n \log(n))

O(n)O(n)

O(nlog(n))O(n \log(n))

O(n)O(n)

Y

Y

Last updated