July 2009 marked the 50th anniversary1 of the Shellsort algorithm [45]. This well-known sorting algorithm (which should always be capitalized, since it is named after its inventor) is simple to implement. Given a sequence of offset values, (o1,o2,...,op), with each oi < n, and an unsorted array A, whose n elements are indexed from 0 to n−1, the Shellsort algorithm (in its traditional form) is as follows:
for i = 1 to p do for j = 0 to oi −1do Sort the subarray of A consisting of indices j,j + oi,j +2oi,..., e.g., using insertion-sort.
In fact, even this traditional version of Shellsort is actually a family of algorithms, since the reareso many different off setsequences. The trickinimplementingatraditional version of Shellsort, therefore, is coming up with a good offset sequence. Pratt [36] shows that using a sequence consisting of all products of powers of 2 and 3 less than n results in a worst-caserunningtimeof O(nlog2 n). Severalother offset sequenceshavebeenstudied(e.g.,seetheexcellentsurveyof Sedgewick [42]), but none beat the asymptotic performance
2552 กรกฎาคมทำเครื่องหมาย anniversary1 50 ของอัลกอริทึม Shellsort [45] นี้รู้จักการเรียงลำดับขั้นตอนวิธี (ซึ่งควรจะนิยามเสมอ เนื่องจากมันเป็นชื่อหลังจากที่นักประดิษฐ์) เป็นเรื่องง่ายที่จะใช้ กำหนดลำดับของค่าออฟเซต, (o1, o2,..., op), กับอ้อยแต่ละ < n และไม่ได้เรียงลำดับเป็นแถว A, n ที่มีองค์ประกอบที่มีการทำดัชนีจาก 0 ไป n−1 อัลกอริทึม Shellsort (ในรูปแบบดั้งเดิม) จะเป็นดังนี้:สำหรับ i = 1-p สำหรับ j = 0 กับ oi −1do subarray ของประกอบด้วยการเรียงลำดับดัชนี j, j + oi, j + 2oi,..., เช่น โดยใช้เรียงลำดับแบบแทรก-ในความเป็นจริง แม้แต่ดั้งเดิมรุ่นนี้ Shellsort เป็นจริงครอบครัวของอัลกอริทึม ตั้งแต่ reareso การต่าง ๆ ปิด setsequences Shellsort เวอร์ชั่น trickinimplementingatraditional ดังนั้นมา ด้วยดีตรงข้ามลำดับ แพร็ตต์ [36] แสดงว่า ใช้ลำดับที่ประกอบด้วยผลิตภัณฑ์ทั้งหมดของอำนาจของ 2 และ 3 น้อยกว่า n ผลที่เลวร้ายที่สุด-caserunningtimeof O (nlog2 n) Severalother ตรงข้าม sequenceshavebeenstudied (e.g.,seetheexcellentsurveyof Sedgewick [42]), แต่ไม่ตีประสิทธิภาพ asymptotic
การแปล กรุณารอสักครู่..
กรกฎาคม 2009 ทำเครื่องหมาย anniversary1 50 ปีของอัลกอริทึม Shellsort [45] นี้ที่รู้จักกันดีขั้นตอนวิธีการเรียงลำดับ (ซึ่งควรได้รับทุนเพราะมันเป็นชื่อหลังจากที่นักประดิษฐ์ของมัน) เป็นเรื่องง่ายที่จะใช้ ที่กำหนดลำดับของค่าชดเชย (O1, O2, ... , op) กับแต่ละ OI <N, และอาเรย์ไม่ได้เรียงลำดับ A, n มีองค์ประกอบการจัดทำดัชนีจาก 0 ถึง n-1 อัลกอริทึม Shellsort (ในแบบดั้งเดิม รูปแบบ) เป็นดังนี้:
สำหรับ i = 1 ถึง P ทำเพื่อ J = 0 ถึง OI -1do เรียง subarray ของที่ประกอบด้วยดัชนี J, J + OI, J + 2oi, ... , เช่นการใช้การแทรกการจัดเรียง
ในความเป็นจริงแม้รุ่นนี้แบบดั้งเดิมของ Shellsort เป็นจริงครอบครัวของขั้นตอนวิธีตั้งแต่ setsequences ที่แตกต่างกันออกไปหลาย reareso รุ่น trickinimplementingatraditional ของ Shellsort จึงกำลังจะมาถึงด้วยดีชดเชยลำดับ แพรตต์ [36] แสดงให้เห็นว่าการใช้ลำดับที่ประกอบด้วยผลิตภัณฑ์ทั้งหมดของอำนาจของ 2 และ 3 น้อยกว่า n ผลลัพธ์ในที่เลวร้ายที่สุด caserunningtimeof O (nlog2 n) Severalother ชดเชย sequenceshavebeenstudied (เช่น seetheexcellentsurveyof เซดจ์วิก [42]) แต่ไม่มีผู้ใดเอาชนะประสิทธิภาพ asymptotic
การแปล กรุณารอสักครู่..
กรกฎาคม 2009 เครื่องหมาย anniversary1 50 ของขั้นตอนวิธี shellsort [ 45 ] นี้ที่รู้จักกันดีขั้นตอนวิธีการเรียงลำดับ ( ซึ่งควรเป็นทุน เนื่องจากมันเป็นชื่อของนักประดิษฐ์ ) เป็นเรื่องง่ายที่จะใช้ . ให้ลำดับการชดเชยค่า , ( 01 O2 , . . . , op ) , กับแต่ละนี่ < N และเรียงแถวเป็น ซึ่งเป็นดัชนีของ 0 n − 1 , shellsort ขั้นตอนวิธี ( ในรูปแบบดั้งเดิม ) มีดังนี้ :สำหรับฉัน = 1 P ทำ J = 0 เฮ้ย− 1 เรียง subarray ของประกอบด้วยดัชนี J , J + J + ออย 2oi , . . . เช่น การใช้ การจัดเรียงในความเป็นจริงแม้แต่ดั้งเดิมรุ่น shellsort เป็นครอบครัวของขั้นตอนวิธี ตั้งแต่ reareso setsequences แตกต่างกันออกไปมากมาย การ trickinimplementingatraditional รุ่น shellsort จึงขึ้นมาพร้อมกับลำดับตรงข้ามดี แพรตต์ [ 36 ] แสดงให้เห็นว่าการใช้ลำดับประกอบด้วยผลิตภัณฑ์ทั้งหมดของพลังของ 2 และ 3 น้อยกว่า n ผลลัพธ์ใน caserunningtimeof เลวร้ายที่สุด O ( nlog2 N ) severalother ชดเชย sequenceshavebeenstudied ( เช่น seetheexcellentsurveyof เซดจ์วิค [ 42 ] ) แต่ไม่มีผู้ใดเอาชนะประสิทธิภาพเฉลี่ย
การแปล กรุณารอสักครู่..