เรียงลำดับด่วนเทียบกับผสานเรียง

ผู้เขียน: Laura McKinney
วันที่สร้าง: 4 เมษายน 2021
วันที่อัปเดต: 15 พฤษภาคม 2024
Anonim
อัลกอริทึม : 3.5 การแบ่งแยกและเอาชนะ - การเรียงลำดับแบบผสาน
วิดีโอ: อัลกอริทึม : 3.5 การแบ่งแยกและเอาชนะ - การเรียงลำดับแบบผสาน

เนื้อหา

สารบัญ: ความแตกต่างระหว่าง Quick Sort และ Merge Sort

  • ความแตกต่างหลัก
  • แผนภูมิเปรียบเทียบ
  • จัดเรียงด่วน
  • รวมการเรียงลำดับ
  • ความแตกต่างที่สำคัญ
  • ข้อสรุป
  • วิดีโออธิบาย

ความแตกต่างหลัก

ความแตกต่างที่สำคัญระหว่างการจัดเรียงอย่างรวดเร็วและการจัดเรียงผสานคือการจัดเรียงอย่างรวดเร็วคืออัลกอริทึมการเรียงลำดับที่ใช้กับอาร์เรย์ในขณะที่การจัดเรียงผสานเป็นอัลกอริทึมการเรียงลำดับที่ทำงานกับกฎการหารและเอาชนะ


การเรียงลำดับคือการจัดเรียงองค์ประกอบในลำดับใด ๆ การเรียงลำดับเป็นหนึ่งในแนวคิดที่สำคัญที่สุดในการเขียนโปรแกรมคอมพิวเตอร์ อัลกอริธึมที่สำคัญที่สุดสองอย่างใช้สำหรับการเรียงลำดับจุดประสงค์หนึ่งคือการจัดเรียงอย่างรวดเร็วนั่นคือการเรียงลำดับอย่างรวดเร็วคืออัลกอริธึมการเรียงลำดับที่ใช้กับอาร์เรย์และอื่น ๆ คือการเรียงลำดับผสานที่เป็นการเรียงลำดับอัลกอริทึม การทำงานของอัลกอริธึมทั้งสองนั้นเหมือนกัน แต่มันแตกต่างกันเพราะรหัสของมันต่างกัน ในการจัดเรียงอย่างรวดเร็วองค์ประกอบ pivot จะใช้สำหรับการเรียงลำดับในขณะที่องค์ประกอบการเรียงลำดับการผสานทำการดำเนินการเรียงลำดับ

อัลกอริทึมการเรียงลำดับด่วนเป็นวิธีที่ดีที่สุดในการจัดเรียงอาร์เรย์แบบสั้น องค์ประกอบคืออาร์เรย์จะถูกหารจนกว่าจะไม่มีการหารเกิดขึ้นอีก ชื่ออื่นสำหรับการเรียงลำดับแบบด่วนคือการจัดเรียงการแลกเปลี่ยนพาร์ติชัน มีองค์ประกอบสำคัญที่รับผิดชอบการวางตำแหน่งองค์ประกอบสำหรับการเรียงลำดับในอาร์เรย์ องค์ประกอบสำคัญเรียกว่าเดือย ในอัลกอริทึมการเรียงลำดับอย่างรวดเร็วองค์ประกอบแรกของอาร์เรย์จะถูกเลือกและองค์ประกอบที่เลือกนั้นจะทำกุญแจ พอยน์เตอร์สองตัวคือพอยน์เตอร์ต่ำและขึ้นพอยน์เตอร์ที่ต่ำ = 2 และขึ้น = n ตัวชี้ต่ำจะเพิ่มขึ้นเป็น (> แป้น) ในอีกทางหนึ่งตัวชี้ขึ้นจะลดลงเป็น (


Merge sort คืออัลกอริธึมการเรียงลำดับที่ทำงานกับกฎการหารและเอาชนะ อาร์เรย์จะถูกแบ่งออกเป็นสองส่วนและหารอีกครั้งจนกว่าจะไม่มีการแบ่งเกิดขึ้นอีก การเรียงลำดับผสานลดเวลาการเรียงลำดับ มีสามอาร์เรย์ที่ใช้ในการผสานการจัดเรียงหนึ่งอาร์เรย์เพื่อเรียงลำดับครึ่งหนึ่งของอาร์เรย์อาร์เรย์ที่สองเพื่อจัดเก็บอีกครึ่งหนึ่งและอาร์เรย์สุดท้ายเพื่อเก็บรายการสุดท้ายและเรียงลำดับ รหัสการจัดเรียงจะอธิบายการทำงานและความแตกต่างของการจัดเรียงผสานและการจัดเรียงอย่างรวดเร็ว

แผนภูมิเปรียบเทียบ

รากฐานจัดเรียงด่วนเรียงลำดับการผสาน
ความหมายQuick sort คืออัลกอริทึมการเรียงลำดับที่ใช้กับอาร์เรย์

Merge sort เป็นอัลกอริธึมการเรียงลำดับที่ทำงานกับกฎการหารและการเอาชนะ

 

ความซับซ้อน ความซับซ้อนของเวลาในการจัดเรียงอย่างรวดเร็วคือ 0 (n ^ 2)ความซับซ้อนของเวลาในการจัดเรียงการผสานคือ 0 (n log n)
อย่างมีประสิทธิภาพอัลกอริทึมการเรียงลำดับออกมีประสิทธิภาพน้อยกว่าการผสานการเรียงลำดับอัลกอริทึมการเรียงลำดับผสานมีประสิทธิภาพมากกว่าการเรียงแบบรวดเร็ว
วิธีการเรียงลำดับ วิธีการเรียงลำดับของการจัดเรียงอย่างรวดเร็วเป็นแบบภายในวิธีการเรียงลำดับของการจัดเรียงผสานเป็นภายนอก

จัดเรียงด่วน

อัลกอริทึมการเรียงลำดับด่วนเป็นวิธีที่ดีที่สุดในการจัดเรียงอาร์เรย์แบบสั้น องค์ประกอบคืออาร์เรย์จะถูกหารจนกว่าจะไม่มีการหารเกิดขึ้นอีก ชื่ออื่นสำหรับการเรียงลำดับแบบด่วนคือการจัดเรียงการแลกเปลี่ยนพาร์ติชัน มีองค์ประกอบสำคัญที่รับผิดชอบการวางตำแหน่งองค์ประกอบสำหรับการเรียงลำดับในอาร์เรย์


องค์ประกอบสำคัญเรียกว่าเดือย ในอัลกอริทึมการเรียงลำดับอย่างรวดเร็วองค์ประกอบแรกของอาร์เรย์จะถูกเลือกและองค์ประกอบที่เลือกนั้นจะทำกุญแจ มีพอยน์เตอร์สองตัวที่เป็นพอยน์เตอร์ต่ำและอัพพอยเตอร์ที่ต่ำ = 2 และขึ้น = n ตัวชี้ต่ำจะเพิ่มขึ้นเป็น (> แป้น) ในอีกทางหนึ่งตัวชี้ขึ้นจะลดลงเป็น (

รวมการเรียงลำดับ

Merge sort คืออัลกอริธึมการเรียงลำดับที่ทำงานกับกฎการหารและเอาชนะ อาร์เรย์จะถูกแบ่งออกเป็นสองส่วนและหารอีกครั้งจนกว่าจะไม่มีการแบ่งเกิดขึ้นอีก การเรียงลำดับผสานลดเวลาการเรียงลำดับ

มีสามอาร์เรย์ที่ใช้ในการผสานการจัดเรียงหนึ่งอาร์เรย์เพื่อเรียงลำดับครึ่งหนึ่งของอาร์เรย์อาร์เรย์ที่สองเพื่อจัดเก็บอีกครึ่งหนึ่งและอาร์เรย์สุดท้ายเพื่อเก็บรายการสุดท้ายและเรียงลำดับ รหัสการจัดเรียงจะอธิบายการทำงานและความแตกต่างของการจัดเรียงผสานและการจัดเรียงอย่างรวดเร็ว

ความแตกต่างที่สำคัญ

  1. Quick sort คืออัลกอริธึมการเรียงลำดับที่ใช้กับอาร์เรย์ในขณะที่ Merge sort เป็นอัลกอริธึมการเรียงลำดับที่ทำงานกับการหารและการเอาชนะ
  2. ความซับซ้อนของเวลาในการจัดเรียงอย่างรวดเร็วคือ 0 (n ^ 2) ในขณะที่ความซับซ้อนของเวลาในการจัดเรียงแบบผสานคือ 0 (n log n)
  3. อัลกอริทึมการเรียงลำดับออกมีประสิทธิภาพน้อยกว่าการผสานการเรียงในขณะที่อัลกอริทึมการเรียงแบบผสานมีประสิทธิภาพมากกว่าการเรียงแบบด่วน
  4. วิธีการเรียงลำดับของการเรียงลำดับแบบด่วนเป็นแบบภายในขณะที่วิธีการเรียงลำดับของการเรียงแบบผสานนั้นเป็นวิธีภายนอก

ข้อสรุป

ในบทความข้างต้นเราจะเห็นความแตกต่างที่ชัดเจนระหว่างการจัดเรียงอย่างรวดเร็วและการจัดเรียงผสาน

วิดีโออธิบาย