1 / 16

Computability

Computability. Sort homework. Formal definitions of time complexity. Big 0. Homework: Exercises. Searching. Shuffling. Reprise. Bubble sort phases. Compare to neighbor and swap, if necessary. Only do next phase if there was a change. Merge

leeking
Download Presentation

Computability

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 ith 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 n0 such that f(n) < c*g(n) for n>= n0 Informally, for high enough values n, and a coefficient, g(n) is upper bound to f(n).

  8. Examples • if f(n) = 4n3+100n2+1000, then f(n) = O(n3) Try n0 = 1000, c=5. Don't need to pick the lowest values. Note: it also is true that f(n) = O(n4). f(n) is …. Note: the equal sign is used but it is problematic…. But f(n) is not O(n2). f(n) will be more than c*n2, no matter what choice of c, at some point.

  9. Exercises Find c and n0 and determine g(n) for f(n) • n4+ 1000000 • 10n3+100n+100 Generalize about polynomials

  10. logarithms Recall: logbn is the value e such that be=n Now • logbn = logan / logab Proof: Show logbn * logab = logan. That is, a raised to expression on right is equal to n Call X = logbn, Y= logab aY*X = (aY)X by rules of exponentsaY is equal to b. bX 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(n2) 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 n0 exists such that f(n) <c*g(n) for n>=n0. 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(n2) • n2 = o(n3) • 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) n3 = O(n) 100*n = o(n) en = o(3n) • 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.

More Related