
2025 ผู้เขียน: Lynn Donovan | donovan@answers-technology.com. แก้ไขล่าสุด: 2025-01-22 17:42
อัลกอริทึมการเรียงลำดับ
อัลกอริทึม | โครงสร้างข้อมูล | เวลา ความซับซ้อน :แย่ที่สุด |
---|---|---|
เรียงลำดับด่วน | Array | บน2) |
ผสานการเรียงลำดับ | Array | O(n บันทึก(n)) |
การเรียงลำดับฮีป | Array | O(n บันทึก(n)) |
เรียบเรียง | Array | O(n บันทึก(n)) |
ในกรณีที่เลวร้ายที่สุดประเภทใดดีที่สุด?
Quicksort มักจะเร็วที่สุด แต่ถ้าคุณต้องการช่วงเวลาที่แย่ที่สุด ลอง Heapsort หรือ Mergesort . ทั้งคู่มีเวลา O(n log n) ที่แย่ที่สุด
ในทำนองเดียวกัน อัลกอริธึมการเรียงลำดับใดที่มีความซับซ้อนน้อยที่สุด ผสานการเรียงลำดับ
สำหรับสิ่งนี้ อัลกอริธึมใดดีที่สุดสำหรับการเรียงลำดับ
Quicksort
คุณจะค้นหากรณีที่เลวร้ายที่สุดและกรณีที่ดีที่สุดของอัลกอริทึมได้อย่างไร
ในแง่ที่ง่ายที่สุด สำหรับปัญหาที่ขนาดอินพุตเป็น n:
- กรณีที่ดีที่สุด = เวลาที่เร็วที่สุดในการดำเนินการ โดยเลือกอินพุตที่เหมาะสมที่สุด ตัวอย่างเช่น กรณีที่ดีที่สุดสำหรับอัลกอริธึมการเรียงลำดับคือข้อมูลที่จัดเรียงแล้ว
- กรณีที่แย่ที่สุด = เวลาที่ช้าที่สุดในการดำเนินการ โดยเลือกอินพุตเป็นตัวเลข
- กรณีเฉลี่ย = ค่าเฉลี่ยเลขคณิต