sorting lower bound comparison based sorting
play

Sorting Lower Bound Comparison Based Sorting Recall - Sorting - PowerPoint PPT Presentation

Sorting Lower Bound Comparison Based Sorting Recall - Sorting input: A sequence of n values x 1 , x 2 , , x n output: A permutation y 1 , y 2 , , y n such that y 1 y 2 y n Many algorithms are comparison based


  1. Sorting Lower Bound

  2. Comparison Based Sorting Recall - Sorting • input: A sequence of n values x 1 , x 2 , …, x n • output: A permutation y 1 , y 2 , …, y n such that y 1 ≤ y 2 ≤ … ≤ y n Many algorithms are comparison based • they sort by making comparisons between pairs of objects • ex: selection-sort, insertion-sort, heap-sort, merge-sort, quick-sort, … • best so far runs in O ( n log n ) time… can we do better? Let’s derive a lower bound on the running time of any algorithm that uses comparisons to sort n elements x 1 , x 2 , …., x n Sorting Lower Bound 2

  3. Counting Comparisons A decision tree represents every sequence of comparisons that an algorithm might make on an input of size n • each possible run of the algorithm corresponds to a root-to-leaf path • at each internal node a comparison x i < x j is performed and branching made • nodes annotated with the orderings consistent with the comparisons made so far • leaf contains result of computation (a total order of elements) x i < x j ? x a < x b ? x c < x d ? x e < x f ? x k < x l ? x m < x o ? x p < x q ? 3

  4. Decision Tree Example Algorithm: insertion sort Instance ( n = 3): the numbers a, b, c abc, bca, acb, cab, bac, cba F T a < b ? bca, bac, cba abc, acb, cab a < c ? T F T F b < c ? bac acb, cab bca, cba abc F T T F a < c ? b < c ? cab cba bca acb Sorting Lower Bound 4

  5. Height of a Decision Tree Claim : The height of a decision tree is Ω( n log n ). Proof : There are n ! leaves. A tree of height h has at most 2 h leaves. So 2 h ≥ n! h ≥ log 2 (n!) minimum height (time) ≥ c· log 2 (n n ) x i < x j ? = c·n log 2 n. Thus, h ∈ Ω( n log n ). x a < x b ? x c < x d ? log ( n !) x e < x f ? x k < x l ? x m < x o ? x p < x q ? n ! 5

  6. Lower Bound Theorem : Every comparison sort requires Ω( n log n ) in the worst-case. Proof : Given a comparison sort, we look at the decision tree it generates on an input of size n . • Each path from root to leaf is one possible sequence of comparisons • Length of the path is the number of comparisons for that instance • Height of the tree is the worst-case path length (number of comparisons) Height of the tree is Ω( n log n ) by the previous claim. Hence, every comparison sort requires Ω( n log n ) comparisons. Sorting Lower Bound 6

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend