The main goal of this short research note is to present a detailed analysis of the moves of particular elements along the execution of the well-known quick sort algorithm [3]. This kind of analysis is useful whenever we encounter a situation where there is some associated cost C(i, j, `) to move element i from position j to position `. This type of generalization has been considered in the literature, for instance, in the recent work of Angelov et al. [1], where they consider the cost of sorting and selection when the cost of comparing two elements may differ—and even be infinite, to model the situation where the two
given elements cannot be directly compared.
We will consider here two parameters of interest: 1) the number of moves Mn,i of element i when we sort an array of size
n, and 2) the (accumulated) displacement Dn,i of element i. The first random variable corresponds to the situation where
C(i, j, `) = 1 whenever j 6= ` and C(i, j, `) = 0 otherwise. For the second random variable, we take into account the number
of positions that the element travels each time it is moved; thus, C(i, j, `) = |j − `|. Section 2 is devoted to the analysis of
Mn,i and Section 3 to the analysis of Dn,i
.
We use in this paper fairly standard tools in the analysis of algorithms (see, for instance [7]). As we will see in later
sections, the analysis of data moves in quicksort involves the so-called quickselect recurrence. In its general standard form it
reads
เป้าหมายหลักของบันทึกย่องานวิจัยนี้นำเสนอย้ายองค์ประกอบเฉพาะตามขั้นตอนวิธีการเรียงลำดับด่วนรู้จัก [3] ในการวิเคราะห์ได้ วิเคราะห์ชนิดนี้มีประโยชน์เมื่อเราพบสถานการณ์มีต้นทุนบางอย่างเชื่อมโยง C (i, j, ') เพื่อย้ายองค์ฉันจากเจตำแหน่งการวาง ' Generalization ชนิดนี้ได้รับการพิจารณาในวรรณคดี ตัวอย่าง งานล่าสุดของ Angelov และ al. [1], ที่พวกเขาพิจารณาต้นทุนของการเรียงลำดับและเลือกเมื่อต้นทุนการเปรียบเทียบองค์ประกอบที่สองอาจแตกต่างกันและแม้กระทั่งอนันต์ การจำลองสถานการณ์ที่สองกำหนดองค์ประกอบไม่สามารถโดยตรงเปรียบเทียบเราจะพิจารณาที่นี่สองพารามิเตอร์ที่น่าสนใจ: 1) จำนวนย้าย Mn พระองค์ฉันเมื่อเราเรียงเป็นแถวขนาดn และ 2) แทน (สะสม) Dn พระองค์ผม ตัวแปรสุ่มแรกสอดคล้องกับสถานการณ์ที่C (i, j, ') = 1 เมื่อเจ 6 = ' และ C (i, j, ') = 0 เป็นอย่างอื่น สำหรับตัวแปรสุ่มสอง เราคำนึงถึงจำนวนตำแหน่งที่ว่า องค์ประกอบที่เดินทางแต่ละครั้ง จะเป็นย้าย ดังนั้น C (i, j, ') = |j − ' | 2 ส่วนคือทุ่มเทเพื่อการวิเคราะห์ของMn ฉัน และหมวดที่ 3 การวิเคราะห์ของ Dn ฉัน.เราใช้เครื่องมือนี้ค่อนข้างมาตรฐานกระดาษในการวิเคราะห์ของอัลกอริทึม (ดู เช่น [7]) เราจะเห็นในภายหลังส่วน วิเคราะห์การย้ายข้อมูลใน quicksort เกี่ยวข้องเกิดขึ้นเรียกว่า quickselect ในมาตรฐานทั่วไปของฟอร์มนั้นจำนวนผู้อ่าน
การแปล กรุณารอสักครู่..
เป้าหมายหลักของงานวิจัยนี้ทราบ เพื่อเสนอการวิเคราะห์รายละเอียดของการเคลื่อนไหวขององค์ประกอบโดยเฉพาะตามการจัดเรียงของที่รู้จักกันดีด่วน [ 3 ] ชนิดของการวิเคราะห์จะเป็นประโยชน์เมื่อใดก็ตามที่เราพบว่ามีบางอย่างที่เกี่ยวข้องค่า C ( , J , ` ) ย้ายจากตำแหน่งไปยังตำแหน่งองค์ประกอบ J `ในการชนิดนี้ได้รับการพิจารณาในวรรณคดี เช่น ในผลงานล่าสุดของ angelov et al . [ 1 ] ซึ่งจะพิจารณาต้นทุนของการคัดแยกและคัดเลือกเมื่อค่าใช้จ่ายของการเปรียบเทียบสององค์ประกอบอาจแตกต่างกันและแม้กระทั่งเป็นอนันต์ , แบบจำลองสถานการณ์ที่ 2
ให้องค์ประกอบไม่สามารถโดยตรงเทียบ .
เราจะพิจารณาสองพารามิเตอร์ที่น่าสนใจ :1 ) จำนวนของการย้ายและ ชั้นขององค์ประกอบผมเมื่อเราเรียง array ของขนาด
N , 2 ) ( สะสม ) ค่า DN ผม ธาตุคือตัวแปรแรกที่สอดคล้องกับสถานการณ์ที่
c ( I , J , ` ) = 1 เมื่อ 6 = c ( ` J และ ฉัน , J , ` ) = 0 เป็นอย่างอื่น สำหรับตัวแปรสุ่มสอง เราเอาเข้าบัญชีเลขที่
ตำแหน่งองค์ประกอบที่เดินทางในแต่ละครั้งจะถูกย้าย ; ดังนั้น , C ( i , j ,| J ` ` ) = − | . ส่วนที่ 2 คือเพื่อรองรับการวิเคราะห์
) ฉันและส่วนที่ 3 การวิเคราะห์ DN ผม
.
เราใช้กระดาษนี้เครื่องมือที่ค่อนข้างมาตรฐานในการวิเคราะห์ขั้นตอนวิธี ( เห็นตัวอย่าง [ 7 ] ) ที่เราจะเห็นในส่วนในภายหลัง
, การวิเคราะห์ข้อมูลที่เกี่ยวข้องกับการย้ายในควิกซอร์ตที่เรียกว่า quickselect . ในรูปแบบของมาตรฐานทั่วไปมัน
อ่าน
การแปล กรุณารอสักครู่..