2. Sorting Algorithms
The original Quick sort algorithm was developed by Hoare in
1961 [9]. It is an in-place algorithm (uses a small auxiliary
stack), and has an average sorting time proportional to
O (n log2 n) to sort n items. It is considered to be the most
efficient internal sorting algorithm. The algorithm has been
analyzed and studied extensively in [12], [5], [6], [20], [24],
and [19]. The only drawback of the algorithm is its worst
case time complexity of O(n^2) , which occurs when the list
of values is already sorted or nearly sorted, or sorted in
reverse order [26]. Quick sort is a divide-and-conquer
algorithm. To sort a list of n values represented by a one
dimensional array A indexed from 1 to n, the algorithm
chooses a key called the pivot and then partitions the array
into two parts, a left sub array and a right sub array. The keys
in the array will be reordered such that all the elements in the
left sub array are less than the pivot and all the elements in
the right sub array are greater than the pivot. Then the
algorithms proceeds to sort each sub array independently.
The efficiency of Quick sort ultimately depends on the choice
of the pivot [22]. The ideal choice for the pivot would a value
that divides the list of keys near the middle. Different
choices for the pivot result in different variations of the
Quick sort algorithm. In Hoare’s [9] original algorithm the
pivot was chosen at random, and Hoare proved that choosing
the pivot at random will result in 1.386nlogn expected
comparisons [10].
2. อัลกอริทึมการเรียงลำดับ เป็นพัฒนาอัลกอริทึมการเรียงลำดับแบบรวดเร็วฉบับ โดย Hoare ใน 1961 [9] เป็นอัลกอริทึมในสถาน (ใช้เสริมขนาดเล็ก กอง), และมีค่าเฉลี่ยเรียงลำดับเวลากับ O (n log2 n) เพื่อเรียงลำดับรายการ n ก็ถือว่าเป็นที่สุด ประสิทธิภาพภายในเรียงอัลกอริทึมการ อัลกอริทึมได้รับ วิเคราะห์ และศึกษาอย่างกว้างขวาง [12], [5], [6], [20], [24], และ [19] เสียของอัลกอริทึมมีความร้าย กรณีความซับซ้อนเวลาของ O(n^2) ซึ่งเกิดขึ้นเมื่อรายการ ค่าแล้วเรียง หรือเรียงลำดับเกือบ หรือเรียง กลับสั่ง [26] เรียงลำดับอย่างรวดเร็วมีการแบ่ง และพิชิต อัลกอริทึมการ การเรียงลำดับรายการของค่า n ที่แสดง โดยหนึ่ง อาร์เรย์หลายมิติ A ดัชนี 1 n อัลกอริทึมการ เลือกคีย์ที่เรียกว่า pivot และกั้นอาร์เรย์แล้ว เป็นสองส่วน เรย์ย่อยด้านซ้าย และเป็นอาร์เรย์ย่อยด้านขวา แป้น ในอาร์เรย์จะถูกจัดลำดับใหม่ให้องค์ประกอบทั้งหมดในการ อาร์เรย์ย่อยด้านซ้ายจะน้อยกว่า pivot และทุกองค์ประกอบใน อาร์เรย์ย่อยด้านขวามากกว่าสาระสำคัญได้ นั้น อัลกอริทึมดำเนินการเรียงลำดับแต่ละอาร์เรย์ย่อยต่างหาก ประสิทธิภาพการเรียงลำดับอย่างรวดเร็วที่สุดขึ้นอยู่กับตัวเลือก ของ pivot [22] สาระสำคัญเหมาะจะเป็นค่า ที่แบ่งรายการของคีย์ใกล้กลาง แตกต่างกัน สำหรับสาระสำคัญผลลัพธ์ในรูปแบบต่าง ๆ ของการ อัลกอริทึมการเรียงลำดับอย่างรวดเร็ว ในของ Hoare [9] เดิมอัลกอริทึมการ pivot was chosen at random, and Hoare proved that choosing the pivot at random will result in 1.386nlogn expected comparisons [10].
การแปล กรุณารอสักครู่..