ที่นี่เราจะเห็นวิธีการจัดเรียงบางอย่าง มีเทคนิคการจัดเรียงมากกว่า 200 แบบ เราจะเห็นบางส่วนของพวกเขา เทคนิคการจัดเรียงบางอย่างเป็นการจัดเรียงแบบเปรียบเทียบ บางส่วนเป็นเทคนิคการจัดเรียงแบบไม่ใช้การเปรียบเทียบ
เทคนิคการจัดเรียงตามการเปรียบเทียบ ได้แก่ การเรียงลำดับแบบฟอง การเรียงลำดับการเลือก การเรียงลำดับการแทรก การเรียงลำดับแบบรวม การเรียงลำดับแบบด่วน การเรียงลำดับแบบฮีป เป็นต้น เทคนิคเหล่านี้ถือเป็นการเรียงลำดับตามการเปรียบเทียบ เนื่องจากในเทคนิคเหล่านี้ ค่าต่างๆ จะถูกเปรียบเทียบ และวางไว้ในตำแหน่งที่จัดเรียงในเฟส ifferent เราจะเห็นความซับซ้อนของเวลาของเทคนิคเหล่านี้
ประเภทการวิเคราะห์ | การเรียงบับเบิ้ล | การเรียงลำดับการเลือก | การเรียงลำดับการแทรก | ผสานการเรียงลำดับ | การเรียงลำดับด่วน | การเรียงลำดับฮีป |
---|---|---|---|---|---|---|
กรณีที่ดีที่สุด | O(n 2 ) | O(n 2 ) | O(n) | O(ล็อก n) | O(ล็อก n) | O(เข้าสู่ระบบ) |
กรณีเฉลี่ย | O(n 2 ) | O(n 2 ) | O(n 2 ) | O(ล็อก n) | O(ล็อก n) | O(ล็อก n) |
กรณีที่เลวร้ายที่สุด | O(n 2) | O(n 2 ) | O(n 2 ) | O(ล็อก n) | O(n 2 ) | O(ล็อก n) |
อัลกอริธึมการเรียงลำดับบางตัวไม่ใช่อัลกอริธึมที่อิงตามการเปรียบเทียบ บางส่วน ได้แก่ Radix sort, Bucket sort, count sort สิ่งเหล่านี้เป็นการจัดเรียงแบบไม่มีการเปรียบเทียบเนื่องจากองค์ประกอบสองอย่างในที่นี้ไม่ได้ถูกเปรียบเทียบขณะทำการเรียงลำดับ เทคนิคต่างกันเล็กน้อย ตอนนี้เราจะเห็นความแตกต่างระหว่างพวกเขาโดยพิจารณาจากการวิเคราะห์ประเภทต่างๆ
ประเภทการวิเคราะห์ | Radix Sort (k คือตัวเลขสูงสุด) | การเรียงลำดับการนับ (k คือขนาดของอาร์เรย์การนับ) | Bucket Sort (k คือจำนวนที่เก็บข้อมูล) |
---|---|---|---|
กรณีที่ดีที่สุด | O(nk) | O(n + k) | O(n + k) |
กรณีเฉลี่ย | O(nk) | O(n + k) | O(n + k) |
กรณีที่เลวร้ายที่สุด | O(nk) | O(n + k) | O(n 2 ) |
เทคนิคการเรียงลำดับสามารถเปรียบเทียบได้โดยใช้พารามิเตอร์อื่น อัลกอริธึมการจัดเรียงบางตัวเป็นอัลกอริธึมการจัดเรียงแบบแทนที่ และบางอัลกอริธึมการจัดเรียงแบบแทนที่ อัลกอริธึมที่ไม่ต้องการพื้นที่เพิ่มเติมเรียกว่า in-place sorting Algorithm เช่น quicksort อัลกอริทึม heapsort อยู่ในสถานที่ แต่การจัดเรียงแบบผสานเป็นเทคนิคการจัดเรียงแบบนอกสถานที่
อัลกอริทึมบางตัวออนไลน์และบางส่วนออฟไลน์ ถ้าอัลกอริธึมยอมรับองค์ประกอบใหม่ในขณะที่กระบวนการเรียงลำดับเกิดขึ้น นั่นเรียกว่าอัลกอริธึมการเรียงลำดับออนไลน์ จากเทคนิคที่กล่าวมาข้างต้น การจัดเรียงแบบแทรกคือเทคนิคการเรียงลำดับแบบออนไลน์