Suppose that we are given an n-element array, A, thatwe wish to sort, where we assume, without loss of generality,
that n is a power of 2. Our randomized Shellsort algorithm
uses a geometrically decreasing sequence of offsets,
O = {n/2, n/4, n/8, . . . , 1}. For each offset, o 2 O, we
number consecutive regions in A of length o, as 0, 1, 2, etc.,
with each starting at an index that is a multiple of o, so that
region 0 is A[0 .. o−1], region 1 is A[o .. 2o−1], and so on.
We compare pairs of regions according to a schedule that first
involves comparing regions by a shaker pass—an increasing
sequence of adjacent-region comparisons followed by a decreasing
sequence of adjacent-region comparisons. We then
perform an extended brick pass, where we compare regions
that are 3 offsets apart, then regions 2 offsets apart, and finally
those that are odd-even adjacent and then those that
are even-odd adjacent. We refer to this entire schedule as a
shaker-brick pass, since it consists of a shaker pass followed
by a type of brick pass.
สมมติว่า เราจะได้รับในการ thatwe เรย์องค์ประกอบ n, A การเรียงลำดับ ที่เราสมมติ โดยไม่สูญเสียทั่วไปn ที่เป็นพลังงาน 2 อัลกอริทึมของเรา Shellsort สุ่มใช้ลำดับลดทางเรขาคณิตของ offsetsO = {n/2, n/4, n/8,..., 1 } สำหรับแต่ละออฟเซ็ต o 2 O เราหมายเลขภูมิภาคติดต่อกันใน A ของยาว o, 0, 1, 2 ฯลฯ .,แต่ละราคาเริ่มต้นที่ดัชนีที่มีหลายของ o ดังนั้นที่ภูมิภาค 0 คือ A [0 ... o−1], ภูมิภาค 1 เป็น A [o ... 2o−1], และเราเปรียบเทียบคู่ของภูมิภาคตามกำหนดการที่แรกเปรียบเทียบภูมิภาค โดยปั่นผ่าน — การเพิ่มมากขึ้นลำดับของการเปรียบเทียบภูมิภาคติดตาม ด้วยการลดลำดับของการเปรียบเทียบพื้นที่ติดกัน จากนั้นเราทำ pass ขยายอิฐ ซึ่งเราเปรียบเทียบภูมิภาคที่มีออฟเซ็ตกัน 3 ภูมิภาค 2 ชดเชยกัน และในที่สุดผู้ที่ติดกันแม้คี่แล้วบรรดาผู้ที่มี even-odd อยู่ติดกัน เราดูกำหนดการทั้งหมดนี้เป็นการปั่นอิฐผ่าน เนื่องผ่านปั่นตามโดยชนิดของอิฐผ่าน
การแปล กรุณารอสักครู่..
สมมติว่าเราจะได้รับอาร์เรย์ N-องค์ประกอบ, A, ปรารถนา thatwe การจัดเรียงที่เราคิดโดยไม่สูญเสียของทั่วไป,
n ที่เป็นอำนาจของ 2. เราสุ่มอัลกอริทึม Shellsort
ใช้ลำดับเรขาคณิตลดการชดเชย,
O = { n / 2, n / 4, n / 8 . . 1} สำหรับแต่ละชดเชย o 2 O เรา
จำนวนภูมิภาคติดต่อกันใน บริษัท A ของความยาว o เป็น 0, 1, 2, ฯลฯ
ด้วยกันเริ่มต้นที่ดัชนีที่มีหลาย o การเพื่อให้
ภูมิภาคเป็น 0 [0 . o-1] ภาคที่ 1 เป็น [o .. 2o-1] และอื่น ๆ
เราเปรียบเทียบคู่ของภูมิภาคตามกำหนดเวลาที่แรก
ที่เกี่ยวข้องกับภูมิภาคโดยเปรียบเทียบเครื่องปั่นผ่านเพิ่มขึ้น
ตามลำดับของการเปรียบเทียบที่อยู่ใกล้เคียงภูมิภาคตามด้วยการลดลง
ตามลำดับของการเปรียบเทียบที่อยู่ใกล้เคียงภูมิภาค จากนั้นเราจะ
ดำเนินการผ่านอิฐขยายที่เราเปรียบเทียบภูมิภาค
ที่มี 3 ชดเชยกันแล้ว 2 ภูมิภาคชดเชยกันและในที่สุด
ผู้ที่มีความแปลกแม้กระทั่งที่อยู่ติดกันและจากนั้นผู้ที่
อยู่ติดแม้กระทั่งแปลก เราดูกำหนดการทั้งหมดนี้เป็น
ผ่านเครื่องปั่นอิฐเพราะมันประกอบด้วยผ่านเครื่องปั่นตาม
ตามประเภทของอิฐผ่าน
การแปล กรุณารอสักครู่..
สมมติว่า เราจะได้รับ n-element เรย์ , thatwe ต้องการเรียง ซึ่งเราถือว่าไม่มีการสูญเสียของทั่วไป , ,ว่าเป็นอำนาจของ 2 ของเราที่ shellsort ขั้นตอนวิธีใช้วิธีชดเชยลดลำดับ ,O = { n / 2 / 4 / 8 . . . . . . . . 1 } สำหรับแต่ละ offset O 2 O , เราหมายเลขติดต่อกันของภูมิภาคในความยาว O , 0 , 1 , 2 , 3 ฯลฯกับแต่ละเริ่มต้นที่ดัชนีที่หลาย ๆ โอ ดังนั้นภูมิภาค 0 เป็น [ 0 . . . . . . . O − 1 ] ภาค 1 คือ [ O . . . . . . . 20 − 1 ] , และดังนั้นบนเราเปรียบเทียบคู่ของภูมิภาคตามตารางเวลาที่แรกเกี่ยวข้องกับการเปรียบเทียบภูมิภาคโดยผ่านการเขย่าลำดับของเขตที่อยู่ติดกัน ตามด้วยการเปรียบเทียบลำดับติดกันเขตเปรียบเทียบ เราแล้วแสดงผ่านอิฐขยายที่เราเทียบกับภูมิภาคที่ 3 หยักแยก แล้วภาค 2 เหลื่อมกัน และสุดท้ายที่แปลกและแม้แต่ที่อยู่ติดกันแล้วที่ยังแปลกที่อยู่ติดกัน เราดูที่ตารางทั้งหมดนี้เป็นเครื่องปั่นอิฐผ่าน เนื่องจากมันประกอบด้วยเครื่องปั่นผ่านตามโดยพิมพ์ผ่านอิฐ
การแปล กรุณารอสักครู่..