ตัวอย่างของบทความนี้บอกการควบรวมกิจการและการเรียงลำดับของการสรุปอัลกอริทึมการเรียงลำดับ Java แบ่งปันสำหรับทุกคนสำหรับการอ้างอิงของคุณ การวิเคราะห์เฉพาะมีดังนี้:
Merge Operation (MERGE) หรือที่รู้จักกันในชื่ออัลกอริทึมการควบรวมกิจการหมายถึงการรวมสองลำดับที่เรียงลำดับการดำเนินการตามลำดับ คล้ายกับการเรียงลำดับที่รวดเร็วลองดูการใช้งานของการรวมในชวา
Merge Sorting (Merge) คือการรวมตารางการสั่งซื้อสอง (หรือมากกว่า) หรือมากกว่านั้นเป็นคำสั่งซื้อใหม่นั่นคือแบ่งลำดับที่จะจัดเรียงเป็นหลายลำดับและแต่ละลำดับที่ตามมานั้นเป็นระเบียบ จากนั้นรวมลำดับการสั่งซื้อไว้ในลำดับโดยรวม
การเรียงลำดับการผสานเป็นอัลกอริทึมการเรียงลำดับที่มีประสิทธิภาพตามการดำเนินการควบรวมกิจการ อัลกอริทึมนี้เป็นแอปพลิเคชันทั่วไปของการแบ่งแยกและพิชิต รวมลำดับที่ตามมาที่มีอยู่เพื่อให้ได้ลำดับที่เป็นระเบียบอย่างสมบูรณ์; หากตารางที่สั่งซื้อทั้งสองถูกรวมเข้ากับตารางที่เป็นระเบียบเรียกว่า 2-Roads
อัลกอริธึมการเรียงลำดับที่มีความเสถียรและอาร์เรย์ต้องการพื้นที่พิเศษของ O (n)
หลักการทำงาน:
1. ใช้สำหรับพื้นที่เพื่อสร้างขนาดของลำดับที่เรียงลำดับทั้งสอง
2. ตั้งค่าพอยน์เตอร์สองตัวและตำแหน่งเริ่มต้นคือตำแหน่งเริ่มต้นของลำดับการเรียงลำดับสองลำดับตามลำดับ
3. เปรียบเทียบองค์ประกอบที่ชี้ไปด้วยพอยน์เตอร์สองตัวเลือกองค์ประกอบที่ค่อนข้างเล็กในพื้นที่การควบรวมกิจการและย้ายตัวชี้ไปยังตำแหน่งถัดไป
4. ทำซ้ำขั้นตอนที่ 3 จนกว่าตัวชี้ถึงจุดสิ้นสุดของลำดับ
5. คัดลอกองค์ประกอบที่เหลือทั้งหมดในลำดับอื่นโดยตรงไปยังหางของลำดับการควบรวมกิจการ
การใช้รหัส:
//////////////////////////////////////////////////////////indspace = nelems [nelems]; [] เวิร์กสเปซ, int ล่าง, int oncherbound) {ถ้า (ล่าง == Upperbound) {return;} else {int mid = (ล่าง+บน)/2; MID+ 1, Upper -bound); int mid = highptr -1; +] = thearray [lowptr ++];} else {workspace [j ++] = thearray [highptr ++];} ในขณะที่ (lowptr <= mid) {workspace [j ++] = thearray [lowptr ++]; } ในขณะที่ (highptr <= upp erbound) {workspace [j ++] = thearray [highptr ++];} สำหรับ (j = 0; j <n; j ++) ];}}
การเรียงลำดับการเรียงลำดับค่อนข้างมีความเสถียร ในลำดับของการป้อนข้อมูล
หวังว่าบทความนี้จะเป็นประโยชน์กับการออกแบบโปรแกรม Java ของทุกคน