1
การแก้ไขความสัมพันธ์ที่เกิดซ้ำกับการโทรซ้ำสองครั้ง
ฉันกำลังศึกษารันไทม์กรณีที่เลวร้ายที่สุดของ quicksort ภายใต้เงื่อนไขที่ว่าจะไม่ทำมากพาร์ทิชันไม่สมดุลสำหรับคำจำกัดความที่แตกต่างของมาก ในการทำเช่นนี้ฉันถามตัวเองว่ารันไทม์ T(n,พี)T(n,p)T(n, p) จะเป็นในกรณีที่ quicksort มักจะเกิดขึ้นกับพาร์ทิชันในบางส่วน 0<พี≤120<p≤120 < p \leq {1\over 2} ดังนั้น ⌊พี(n-1)⌋⌊p(n−1)⌋\lfloor{p(n-1)}\rfloor องค์ประกอบอยู่ในพาร์ทิชันด้านซ้ายและ ⌈(1-พี)(n-1)⌉⌈(1−p)(n−1)⌉\lceil(1 - p)(n - 1)\rceil อยู่ในพาร์ทิชันที่เหมาะสม (ออกจาก 111 องค์ประกอบ pivot ที่อยู่ตรงกลาง) ไม่ยากที่จะเห็นว่า T(n,พี)T(n,p)T(n, p) ให้ขอบเขตบนสำหรับกรณีที่แย่ที่สุดที่ พีpp เป็นพาร์ติชันที่ได้รับอนุญาตไม่สมดุลมากที่สุดเช่นเดียวกับพาร์ทิชันที่มีเศษส่วน >พี>p> p จะมีความสมดุลมากขึ้นและมีรันไทม์ขนาดเล็กลงและเศษส่วนใด ๆ <พี<p<p ไม่อนุญาต เห็นได้ชัดว่า T(n,12)T(n,12)T(n, {1 \over 2}) เป็นกรณีที่ดีที่สุดและ T(n,0)T(n,0)T(n, 0)เป็นกรณีที่แย่ที่สุดของ quicksort …