เรียงลำดับด่วนเทียบกับผสานเรียง
เนื้อหา
- สารบัญ: ความแตกต่างระหว่าง Quick Sort และ Merge Sort
- ความแตกต่างหลัก
- แผนภูมิเปรียบเทียบ
- จัดเรียงด่วน
- รวมการเรียงลำดับ
- ความแตกต่างที่สำคัญ
- ข้อสรุป
- วิดีโออธิบาย
สารบัญ: ความแตกต่างระหว่าง Quick Sort และ Merge Sort
- ความแตกต่างหลัก
- แผนภูมิเปรียบเทียบ
- จัดเรียงด่วน
- รวมการเรียงลำดับ
- ความแตกต่างที่สำคัญ
- ข้อสรุป
- วิดีโออธิบาย
ความแตกต่างหลัก
ความแตกต่างที่สำคัญระหว่างการจัดเรียงอย่างรวดเร็วและการจัดเรียงผสานคือการจัดเรียงอย่างรวดเร็วคืออัลกอริทึมการเรียงลำดับที่ใช้กับอาร์เรย์ในขณะที่การจัดเรียงผสานเป็นอัลกอริทึมการเรียงลำดับที่ทำงานกับกฎการหารและเอาชนะ
การเรียงลำดับคือการจัดเรียงองค์ประกอบในลำดับใด ๆ การเรียงลำดับเป็นหนึ่งในแนวคิดที่สำคัญที่สุดในการเขียนโปรแกรมคอมพิวเตอร์ อัลกอริธึมที่สำคัญที่สุดสองอย่างใช้สำหรับการเรียงลำดับจุดประสงค์หนึ่งคือการจัดเรียงอย่างรวดเร็วนั่นคือการเรียงลำดับอย่างรวดเร็วคืออัลกอริธึมการเรียงลำดับที่ใช้กับอาร์เรย์และอื่น ๆ คือการเรียงลำดับผสานที่เป็นการเรียงลำดับอัลกอริทึม การทำงานของอัลกอริธึมทั้งสองนั้นเหมือนกัน แต่มันแตกต่างกันเพราะรหัสของมันต่างกัน ในการจัดเรียงอย่างรวดเร็วองค์ประกอบ pivot จะใช้สำหรับการเรียงลำดับในขณะที่องค์ประกอบการเรียงลำดับการผสานทำการดำเนินการเรียงลำดับ
อัลกอริทึมการเรียงลำดับด่วนเป็นวิธีที่ดีที่สุดในการจัดเรียงอาร์เรย์แบบสั้น องค์ประกอบคืออาร์เรย์จะถูกหารจนกว่าจะไม่มีการหารเกิดขึ้นอีก ชื่ออื่นสำหรับการเรียงลำดับแบบด่วนคือการจัดเรียงการแลกเปลี่ยนพาร์ติชัน มีองค์ประกอบสำคัญที่รับผิดชอบการวางตำแหน่งองค์ประกอบสำหรับการเรียงลำดับในอาร์เรย์ องค์ประกอบสำคัญเรียกว่าเดือย ในอัลกอริทึมการเรียงลำดับอย่างรวดเร็วองค์ประกอบแรกของอาร์เรย์จะถูกเลือกและองค์ประกอบที่เลือกนั้นจะทำกุญแจ พอยน์เตอร์สองตัวคือพอยน์เตอร์ต่ำและขึ้นพอยน์เตอร์ที่ต่ำ = 2 และขึ้น = n ตัวชี้ต่ำจะเพิ่มขึ้นเป็น (> แป้น) ในอีกทางหนึ่งตัวชี้ขึ้นจะลดลงเป็น (
Merge sort คืออัลกอริธึมการเรียงลำดับที่ทำงานกับกฎการหารและเอาชนะ อาร์เรย์จะถูกแบ่งออกเป็นสองส่วนและหารอีกครั้งจนกว่าจะไม่มีการแบ่งเกิดขึ้นอีก การเรียงลำดับผสานลดเวลาการเรียงลำดับ มีสามอาร์เรย์ที่ใช้ในการผสานการจัดเรียงหนึ่งอาร์เรย์เพื่อเรียงลำดับครึ่งหนึ่งของอาร์เรย์อาร์เรย์ที่สองเพื่อจัดเก็บอีกครึ่งหนึ่งและอาร์เรย์สุดท้ายเพื่อเก็บรายการสุดท้ายและเรียงลำดับ รหัสการจัดเรียงจะอธิบายการทำงานและความแตกต่างของการจัดเรียงผสานและการจัดเรียงอย่างรวดเร็ว
แผนภูมิเปรียบเทียบ
รากฐาน | จัดเรียงด่วน | เรียงลำดับการผสาน |
ความหมาย | Quick sort คืออัลกอริทึมการเรียงลำดับที่ใช้กับอาร์เรย์ | Merge sort เป็นอัลกอริธึมการเรียงลำดับที่ทำงานกับกฎการหารและการเอาชนะ
|
ความซับซ้อน | ความซับซ้อนของเวลาในการจัดเรียงอย่างรวดเร็วคือ 0 (n ^ 2) | ความซับซ้อนของเวลาในการจัดเรียงการผสานคือ 0 (n log n) |
อย่างมีประสิทธิภาพ | อัลกอริทึมการเรียงลำดับออกมีประสิทธิภาพน้อยกว่าการผสานการเรียงลำดับ | อัลกอริทึมการเรียงลำดับผสานมีประสิทธิภาพมากกว่าการเรียงแบบรวดเร็ว |
วิธีการเรียงลำดับ | วิธีการเรียงลำดับของการจัดเรียงอย่างรวดเร็วเป็นแบบภายใน | วิธีการเรียงลำดับของการจัดเรียงผสานเป็นภายนอก |
จัดเรียงด่วน
อัลกอริทึมการเรียงลำดับด่วนเป็นวิธีที่ดีที่สุดในการจัดเรียงอาร์เรย์แบบสั้น องค์ประกอบคืออาร์เรย์จะถูกหารจนกว่าจะไม่มีการหารเกิดขึ้นอีก ชื่ออื่นสำหรับการเรียงลำดับแบบด่วนคือการจัดเรียงการแลกเปลี่ยนพาร์ติชัน มีองค์ประกอบสำคัญที่รับผิดชอบการวางตำแหน่งองค์ประกอบสำหรับการเรียงลำดับในอาร์เรย์
องค์ประกอบสำคัญเรียกว่าเดือย ในอัลกอริทึมการเรียงลำดับอย่างรวดเร็วองค์ประกอบแรกของอาร์เรย์จะถูกเลือกและองค์ประกอบที่เลือกนั้นจะทำกุญแจ มีพอยน์เตอร์สองตัวที่เป็นพอยน์เตอร์ต่ำและอัพพอยเตอร์ที่ต่ำ = 2 และขึ้น = n ตัวชี้ต่ำจะเพิ่มขึ้นเป็น (> แป้น) ในอีกทางหนึ่งตัวชี้ขึ้นจะลดลงเป็น (
รวมการเรียงลำดับ
Merge sort คืออัลกอริธึมการเรียงลำดับที่ทำงานกับกฎการหารและเอาชนะ อาร์เรย์จะถูกแบ่งออกเป็นสองส่วนและหารอีกครั้งจนกว่าจะไม่มีการแบ่งเกิดขึ้นอีก การเรียงลำดับผสานลดเวลาการเรียงลำดับ
มีสามอาร์เรย์ที่ใช้ในการผสานการจัดเรียงหนึ่งอาร์เรย์เพื่อเรียงลำดับครึ่งหนึ่งของอาร์เรย์อาร์เรย์ที่สองเพื่อจัดเก็บอีกครึ่งหนึ่งและอาร์เรย์สุดท้ายเพื่อเก็บรายการสุดท้ายและเรียงลำดับ รหัสการจัดเรียงจะอธิบายการทำงานและความแตกต่างของการจัดเรียงผสานและการจัดเรียงอย่างรวดเร็ว
ความแตกต่างที่สำคัญ
- Quick sort คืออัลกอริธึมการเรียงลำดับที่ใช้กับอาร์เรย์ในขณะที่ Merge sort เป็นอัลกอริธึมการเรียงลำดับที่ทำงานกับการหารและการเอาชนะ
- ความซับซ้อนของเวลาในการจัดเรียงอย่างรวดเร็วคือ 0 (n ^ 2) ในขณะที่ความซับซ้อนของเวลาในการจัดเรียงแบบผสานคือ 0 (n log n)
- อัลกอริทึมการเรียงลำดับออกมีประสิทธิภาพน้อยกว่าการผสานการเรียงในขณะที่อัลกอริทึมการเรียงแบบผสานมีประสิทธิภาพมากกว่าการเรียงแบบด่วน
- วิธีการเรียงลำดับของการเรียงลำดับแบบด่วนเป็นแบบภายในขณะที่วิธีการเรียงลำดับของการเรียงแบบผสานนั้นเป็นวิธีภายนอก
ข้อสรุป
ในบทความข้างต้นเราจะเห็นความแตกต่างที่ชัดเจนระหว่างการจัดเรียงอย่างรวดเร็วและการจัดเรียงผสาน