1
เหตุใด introsort จึงใช้ heapsort แทนที่จะรวมกัน
เป็นส่วนหนึ่งของการบ้านที่ครอบคลุมการใช้งานIntrosortฉันถูกถามว่าทำไมใช้ heapsort มากกว่าการรวม (หรืออื่น ๆO ( n บันทึก( n ) )O(nเข้าสู่ระบบ(n))O(n\log(n)) อัลกอริทึมสำหรับเรื่องนั้น) Introsort เป็นอัลกอริธึมการเรียงลำดับแบบไฮบริดที่ให้ทั้งประสิทธิภาพเฉลี่ยที่รวดเร็วและ (asymptotically) ประสิทธิภาพที่ดีที่สุดสำหรับกรณีที่เลวร้ายที่สุด มันเริ่มต้นด้วย quicksort และสลับไปที่ heapsort เมื่อความลึกของการเรียกซ้ำเกินกว่าระดับตาม (ลอการิทึมของ) จำนวนองค์ประกอบที่เรียงลำดับ ( Wikipedia , ดึงข้อมูล 2014 - May-06) เหตุผลเดียวที่ฉันคิดได้ก็คือฮีปพอร์ตคือ "ในที่" ... แต่ฉันไม่เข้าใจจริงๆว่าทำไมเรื่องนี้ถึงมีความสำคัญ