สารบัญ:

Merge sort ใช้ที่ไหน?
Merge sort ใช้ที่ไหน?

วีดีโอ: Merge sort ใช้ที่ไหน?

วีดีโอ: Merge sort ใช้ที่ไหน?
วีดีโอ: การใช้ Merge sort 2024, อาจ
Anonim

ผสานการเรียงลำดับ : ใช้แล้ว ในสถานการณ์ฐานข้อมูลเพราะมีเสถียรภาพ (multi-key เรียงลำดับ ) และภายนอก (ผลลัพธ์ไม่พอดีกับหน่วยความจำทั้งหมด) มีประโยชน์ในสถานการณ์แบบกระจายซึ่งมีข้อมูลเพิ่มเติมเข้ามาในระหว่างหรือหลัง การเรียงลำดับ . การใช้หน่วยความจำป้องกันการใช้งานในวงกว้างในอุปกรณ์ขนาดเล็ก แต่มีเวอร์ชัน Nlog^2N แบบแทนที่อยู่

เมื่อพิจารณาถึงสิ่งนี้แล้ว การเรียงลำดับการแทรกใช้ที่ใด

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

รู้ยัง Merge sort กับตัวอย่างคืออะไร? หนึ่ง ตัวอย่าง ของ ผสานการเรียงลำดับ . ขั้นแรกให้แบ่งรายการออกเป็นหน่วยที่เล็กที่สุด (1 องค์ประกอบ) จากนั้นเปรียบเทียบแต่ละองค์ประกอบกับรายการที่อยู่ติดกันกับ เรียงลำดับ และ ผสาน สองรายการที่อยู่ติดกัน ในที่สุดองค์ประกอบทั้งหมดคือ จัดเรียง และ รวมกัน . ผสานการเรียงลำดับ เป็นอัลกอริธึมการแบ่งและพิชิตที่คิดค้นโดย John von Neumann ในปี 1945

เหตุใดจึงใช้การเรียงลำดับการผสาน

ผสานการเรียงลำดับ มีประโยชน์สำหรับ การเรียงลำดับ รายการที่เชื่อมโยง ผสานการเรียงลำดับ เป็นคอกม้า เรียงลำดับ ซึ่งหมายความว่าองค์ประกอบเดียวกันในอาร์เรย์จะรักษาตำแหน่งเดิมโดยสัมพันธ์กัน ความซับซ้อนของเวลาโดยรวมของ ผสานการเรียงลำดับ คือ O(nLogn) มันมีประสิทธิภาพมากกว่าในกรณีที่เลวร้ายที่สุดเช่นกันรันไทม์คือ O (nlogn)

คุณใช้การเรียงลำดับการผสานอย่างไร

ต่อไปนี้คือวิธีที่การจัดเรียงแบบผสานใช้การหารและพิชิต:

  1. หารด้วยการหาจำนวน q ของตำแหน่งตรงกลางระหว่าง p และ r
  2. พิชิตด้วยการเรียงลำดับอาร์เรย์ย่อยซ้ำๆ ในแต่ละปัญหาย่อยสองปัญหาที่สร้างโดยขั้นตอนการหาร
  3. รวมโดยการรวมอาร์เรย์ย่อยที่เรียงลำดับทั้งสองกลับเข้าไปในอาร์เรย์ย่อยที่เรียงลำดับเดียว[p..

แนะนำ: