ตัวอย่างของบทความนี้บอกการใช้งานและการวิเคราะห์อย่างง่าย ๆ ของอัลกอริทึมการเรียงลำดับ Java หลายอย่าง แบ่งปันสำหรับทุกคนสำหรับการอ้างอิงของคุณ ข้อมูลเฉพาะมีดังนี้:
การทดสอบแพ็คเกจ; มีการพิจารณาว่าเวียดนาม // แต่การร้องขอของอาร์เรย์เริ่มต้นจากหมายเลขที่สอง [j] <list [j -1 1]) {int temp = list [j]; พื้นฐานเพิ่มการค้นหาไบนารี*/วางโมฆะ bininsertsort (int [] r, int ต่ำ, int สูง) {สำหรับ (int i = ต่ำ+1; i <= สูง; i ++) {int temp = r [i]; // บันทึกองค์ประกอบ int hi = i -1; ; j> hi; j -) r [j + 1] = r [j]; int [] r, int ต่ำ, int สูง, int [] delta) {สำหรับ (สำหรับ (สำหรับ (สำหรับ (] int k = 0; k <delngth; k ++) shellinsert (r, ต่ำ, สูง, เดลต้า [ k]);} โมฆะส่วนตัว ShellInsert (int [] r, int ต่ำ, int deldak) {สำหรับ (int i = low+deltak; i <= high; i ++) ถ้า (r [i] <r [i- Deltak]) {int temp = r [i]; int j = i-deltak; ]; +) {// เป็น n -1 การเดินทางไปยัง int min min = k; <r [min]) min = i; ขั้นต่ำ]; i = n/2; 1; ]; j <= สูง; r [j]; 0, 99, 55, 7, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 4, 4, 5, 4, 3, 2, 1}; fs.insertsort (a); , 0, A.Length-1);
แทรกการเรียงลำดับแลกเปลี่ยนการเรียงลำดับการเลือกการเรียงลำดับการควบรวมกิจการและวิธีการเรียงลำดับอื่น ๆ มีลักษณะทั่วไปนั่นคือพวกเขาทั้งหมดกำหนดตำแหน่งสัมพัทธ์ระหว่างองค์ประกอบผ่านองค์ประกอบเปรียบเทียบนั่นคือวิธีการเรียงลำดับข้างต้นจะขึ้นอยู่กับวิธีการเปรียบเทียบ ด้านล่างเราจะเปรียบเทียบและสรุปตามวิธีการเรียงลำดับเปรียบเทียบ
เราเปรียบเทียบวิธีการเรียงลำดับจากความซับซ้อนของเวลาเฉลี่ยของอัลกอริทึมความซับซ้อนของเวลาที่เลวร้ายที่สุดความซับซ้อนของพื้นที่และความเสถียรของการเรียงลำดับ
วิธีการเรียงลำดับความซับซ้อนเวลาเฉลี่ยความซับซ้อนของเวลาที่เลวร้ายที่สุดความซับซ้อนความซับซ้อนของพื้นที่และความเสถียรของความเสถียรที่แทรกโดยตรง (N2) (N2) ο (1) การเรียงลำดับโฟมที่เสถียร (N2) ο (N2) ο (1) การเรียงลำดับที่มั่นคงและรวดเร็วและรวดเร็ว ) (n log n) l (n2) ο (log n) ไม่เสถียรและเพียงแค่เลือกเรียงลำดับ (n2) ο (1) ο (1) การเรียงลำดับฮีปที่ไม่เสถียร (n log n) ο (n log n) ο (n log n) ο (n log) 1) การควบรวมกิจการที่ไม่เสถียรο (n log n) ο (n log n) ο (n) เสถียร
ในแง่ของประสิทธิภาพเวลาการเรียงลำดับอย่างรวดเร็วเป็นประสิทธิภาพที่ดีที่สุดในอัลกอริทึมการเรียงลำดับทั้งหมด สิ่งนี้สามารถหลีกเลี่ยงได้โดยการเปลี่ยนการเรียงลำดับอย่างรวดเร็ว ในการเปรียบเทียบการเรียงลำดับสแต็กและการเรียงลำดับการควบรวมกิจการเมื่อ N มีขนาดใหญ่เวลาที่ต้องใช้สำหรับการควบรวมกิจการและการเรียงลำดับนั้นน้อยกว่า แต่ต้องใช้พื้นที่จัดเก็บเสริมมากขึ้น
จากมุมมองของความมั่นคงของวิธีการส่วนใหญ่ของเวลาคือการเรียงลำดับ (N2) เป็นวิธีการเรียงลำดับที่มั่นคง วิธีการเรียงลำดับส่วนใหญ่ที่มีประสิทธิภาพที่ดีเช่นการเรียงลำดับที่รวดเร็วการเรียงลำดับการเรียงซ้อนและการเรียงลำดับของฮิลล์นั้นไม่เสถียร โดยทั่วไปวิธีการเรียงลำดับของการเปรียบเทียบระหว่างกระบวนการเรียงลำดับมีความเสถียร
นอกจากนี้ความเสถียรของวิธีการเรียงลำดับจะถูกกำหนดโดยวิธีการของตัวเอง
โดยสรุปไม่มีวิธีการเรียงลำดับที่กล่าวถึงข้างต้นเป็นวิธีที่เหมาะสมที่สุด
หวังว่าบทความนี้จะเป็นประโยชน์กับการออกแบบโปรแกรม Java ของทุกคน