ตัวอย่างของบทความนี้บอกการเลือกสรุปอัลกอริทึมการเรียงลำดับ Java แบ่งปันสำหรับทุกคนสำหรับการอ้างอิงของคุณ การวิเคราะห์เฉพาะมีดังนี้:
การดำเนินการพื้นฐานของการเลือกการเรียงลำดับเป็นหนึ่งในองค์ประกอบขั้นต่ำ (หรือสูงสุด) ที่เลือกจากองค์ประกอบข้อมูลที่จะจัดเรียงและคำสั่งซื้อจะอยู่ที่ส่วนท้ายของจำนวนลำดับจนกว่าองค์ประกอบข้อมูลที่จะเรียงลำดับ อัลกอริทึมไม่เสถียรพื้นที่พิเศษของ O (1) ความซับซ้อนของเวลาเปรียบเทียบคือ O (N^2) และความซับซ้อนของเวลาของการแลกเปลี่ยนคือ O (n) ซึ่งไม่ได้ปรับตัว ไม่แนะนำในกรณีส่วนใหญ่ เฉพาะเมื่อคุณต้องการลดจำนวนการแลกเปลี่ยน
ไอเดียพื้นฐาน
การเลือกโดยตรงของไฟล์ของไฟล์ที่บันทึก N สามารถเลือกได้โดยตรงผ่านการเดินทาง N-1 เพื่อให้ได้ผลลัพธ์ที่เป็นระเบียบ:
①สถานะเริ่มต้น: พื้นที่ที่ไม่เป็นระเบียบคือ R [1..N] และพื้นที่ที่เป็นระเบียบนั้นว่างเปล่า
②การเรียงลำดับแรกถูกจัดเรียงในพื้นที่ที่ไม่เป็นระเบียบ r [1..N] เพื่อเลือกบันทึกขั้นต่ำ R [K] และแลกเปลี่ยนกับบันทึกแรก R [1] ในพื้นที่ที่ไม่เป็นระเบียบ 2..N] ถูกเปลี่ยนเป็นพื้นที่ที่สั่งซื้อใหม่ของจำนวนระเบียนและพื้นที่ที่ไม่เป็นระเบียบใหม่ที่มีจำนวนของจำนวน 1 และจำนวนบันทึกลดลง 1
นูปิโน
③เรียงลำดับ II
ที่จุดเริ่มต้นของการเรียงลำดับของ I พื้นที่ที่สั่งและพื้นที่ความผิดปกติในปัจจุบันคือ r [1..i-1] และ r (1≤i≤n-1) การเรียงลำดับนี้เลือกบันทึกขั้นต่ำ R [K] จากพื้นที่ปัจจุบันที่ไม่เป็นระเบียบและแลกเปลี่ยนกับบันทึกแรกในพื้นที่ที่ไม่เป็นระเบียบดังนั้น R [1..I] และ R จะถูกแยกออกเป็นบันทึก พื้นที่ของจำนวนและพื้นที่ที่ไม่เป็นระเบียบใหม่ที่มีจำนวนบันทึกลดลง 1
ด้วยวิธีนี้การเลือกไฟล์โดยตรงของไฟล์ที่บันทึก N สามารถเลือกได้โดยตรงโดยการเดินทาง N-1 เพื่อรับผลลัพธ์ที่เป็นระเบียบ
การใช้รหัส
การทดสอบระดับสาธารณะ {public Static int [] a = {10,32,1,9,5,7,12,0,4,3}; {int i; printf ("%3s", a); ; ; ค่าของค่าต่ำสุดสำหรับการจัดเก็บสำหรับ (j = i; j <in <index; j ++) {ถ้า (a [j] <minvalue) // ค้นหาค่าต่ำสุด {minvalue {minvalue = a [j]; / การจัดเก็บขั้นต่ำ indexmin = j;} temp = a; k (k (k = 0; k <index; k ++) system.out.printf ("%3s", a [k]); system.out.println ("");}}}}}}}
เช่นเดียวกับวิธีการเรียงลำดับเดือดวงรอบชั้นนอกยังคงต้องดำเนินการ N-1 ครั้งและประสิทธิภาพของมันยังคงไม่ดี
หวังว่าบทความนี้จะเป็นประโยชน์กับการออกแบบโปรแกรม Java ของทุกคน