Download presentation
Presentation is loading. Please wait.
Published byByron Cook Modified over 9 years ago
1
Computability Sort homework. Formal definitions of time complexity. Big 0. Homework: Exercises. Searching. Shuffling.
2
Reprise Bubble sort –phases. Compare to neighbor and swap, if necessary. Only do next phase if there was a change. Merge –divide in half. Sort each half and then merge (merge step easy/quick)
3
Reports Insertion Heap Quicksort
4
My summaries Insertion –Going i = 2 to n, Put the i th element in its proper place. Simplest to write. Heap –put data into a heap (max heap, binary tree): parent greater than each of child nodes. Remove root (the biggest). Re-build tree and repeat Quicksort –choose pivot. Place items in sections: less than pivot and greater than or equal to pivot (variation: less than, equal, and greater than pivot). Repeat for each section. Depends on good choice of pivots Random. Median. Median of median. Use knowledge of data.
5
Cards Do sorts using cards.
6
Median There are ways to get median or estimate of median or median of medians that do not involve sorting the whole list. Extra credit opportunity!
7
O(f(n)) defines an upper bound. AKA called asymptotic notation. Given two functions, f and g:N R + then we say f(n) = O(g(n)) or F(n) is O(gn)) g(n) is an asymptotic bound for f(n) IF there exists positive integers c and n 0 such that f(n) = n 0 Informally, for high enough values n, and a coefficient, g(n) is upper bound to f(n).
8
Examples if f(n) = 4n 3 +100n 2 +1000, then f(n) = O(n 3 ) Try n 0 = 1000, c=5. Don't need to pick the lowest values. Note: it also is true that f(n) = O(n 4 ). f(n) is …. Note: the equal sign is used but it is problematic…. But f(n) is not O(n 2 ). f(n) will be more than c*n 2, no matter what choice of c, at some point.
9
Exercises Find c and n 0 and determine g(n) for f(n) n 4 + 1000000 10n 3 +100n+100 Generalize about polynomials
10
logarithms Recall: log b n is the value e such that b e =n Now log b n = log a n / log a b Proof: Show log b n * log a b = log a n. That is, a raised to expression on right is equal to n Call X = log b n, Y= log a b a Y*X = (a Y ) X by rules of exponents a Y is equal to b. b X is equal to n.
11
logarithms for O() notation Can use log (or ln) without mentioning base because the difference is just a coefficient and Big Oh notation allows/uses a coefficient.
12
Note f(n) = log(n) is O(n) n*log(n) is O(n 2 ) These are each strict bounds.
13
small o Given functions f and g, then f(n) = o(g(n)) if that for any c>0, a number n 0 exists such that f(n) =n 0. f(n) is asymptotically less. Another way to say this is lim (f(n)/g(n)) =0 as n infinity
14
Examples n log(n) = o(n 2 ) n 2 = o(n 3 ) sqrt(n) = o(n)
15
Time complexity let t:N R + (t a function from naturals to positive reals) Time complexity class TIME(t(n)) is all languages that are decidable by an O(t(n)) time Turing machine.
16
Homework Prove or disprove: 100*n = O(n) n 3 = O(n) 100*n = o(n) e n = o(3 n ) Develop a way to shuffle cards. (Can do research) Think of how to search a sorted for a particular value. Extra credit: research median algorithms to present to class.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.