วีดีโอ: Quicksort 3 ทางเสถียรหรือไม่
2024 ผู้เขียน: Lynn Donovan | [email protected]. แก้ไขล่าสุด: 2023-12-15 23:54
3 - ทาง Quicksort อัลกอริทึม
มันไม่ใช่ มั่นคง ! หลีกเลี่ยงการใช้ Quicksort ในกรณีที่ ความมั่นคง เป็นสิ่งจำเป็น มันใช้พื้นที่พิเศษ O(log(n)) ทำไม? เนื่องจากการเรียกซ้ำ
ในทำนองเดียวกัน QuickSort สามารถทำให้เสถียรได้หรือไม่
อัลกอริทึมการเรียงลำดับเรียกว่าเป็น มั่นคง ถ้ามันรักษาลำดับสัมพัทธ์ของระเบียนในกรณีของคีย์ที่เท่าเทียมกัน NS มั่นคง อัลกอริทึมสร้างเอาต์พุตแรก QuickSort เป็นอัลกอริธึมที่ไม่เสถียรเพราะเรา ทำ การสลับองค์ประกอบตามตำแหน่งของเดือย (โดยไม่พิจารณาตำแหน่งเดิม)
ความซับซ้อนของเวลาของ QuickSort คืออะไร? แม้ว่าความซับซ้อนของเวลากรณีที่เลวร้ายที่สุดของ QuickSort คือO(n2) ซึ่งมากกว่าอัลกอริธึมการเรียงลำดับอื่น ๆ มากมายเช่น ผสานการเรียงลำดับ และ Heap Sort QuickSort เป็นแนวทางปฏิบัติที่เร็วกว่า เนื่องจากลูปภายในสามารถนำไปใช้กับสถาปัตยกรรมส่วนใหญ่ได้อย่างมีประสิทธิภาพ และในข้อมูลจริงส่วนใหญ่
เมื่อพิจารณาถึงสิ่งนี้ อัลกอริธึมการเรียงลำดับใดที่เสถียร
NS อัลกอริทึมการเรียงลำดับ กล่าวกันว่าเป็น มั่นคง ถ้าวัตถุสองชิ้นที่มีคีย์เท่ากันปรากฏในลำดับเดียวกันใน sortedoutput ตามที่ปรากฏในอาร์เรย์อินพุตที่จะเรียงลำดับ บาง อัลกอริทึมการเรียงลำดับ เป็น มั่นคง โดยธรรมชาติเช่นการแทรก เรียงลำดับ , ผสาน เรียงลำดับ , บับเบิ้ล เรียงลำดับ ฯลฯ
เหตุใดการเรียงลำดับการเลือกจึงไม่เสถียร
ไม่ควรยากเกินไปที่จะปรับเปลี่ยน an การเรียงลำดับที่ไม่เสถียร อัลกอริทึมที่จะกลายเป็น มั่นคง . โดยทั่วไปแล้ว - คุณ ไม่ ถูกต้อง. การเรียงลำดับการเลือกไม่เสถียร . หากคุณใช้รายการที่เชื่อมโยงแทนอาร์เรย์ และแทรกองค์ประกอบในตำแหน่งที่ถูกต้องแทนการสลับ การเรียงลำดับการเลือก เป็น มั่นคง.