Sort_Algorithms
V1.1
โปรแกรมเพื่อแสดงเวลาดำเนินการและความแปรปรวนของอัลกอริทึมการเรียงลำดับในภาษา C มีอัลกอริทึมการเรียงลำดับ 48 แบบกระจายอยู่ใน 8 หมวดหมู่ที่แตกต่างกัน
ในการตั้งค่าโปรแกรมมีการปรับเปลี่ยนที่มีความสามารถระบุไว้ในตารางด้านล่าง:
| การกำหนดค่า | ค่าเริ่มต้น |
|---|---|
| เคสจัดเรียง | แบบสุ่ม |
| ช่วงเวลาสุ่ม | 32 |
| ความยาวของอาร์เรย์ | 10 |
| บันทึกผลลัพธ์ในไฟล์ข้อความ | เลขที่ |
| แสดงอาร์เรย์ | ใช่ |
| แสดงเวลาดำเนินการ | ใช่ |
หมายเหตุ: คุณต้องติดตั้งคอมไพเลอร์ GCC ในเครื่องของคุณเพื่อดำเนินการตามคำแนะนำด้านล่างเพื่อเรียกใช้โปรแกรม
เปิดเทอร์มินัลและไปที่ไดเรกทอรีของโครงการ ดำเนินการในเทอ make มินัลอนุญาตให้รวบรวมโปรแกรม คำสั่งมีความสามารถในการเรียกใช้งานด้วย make ( make ${command} ):
| สั่งการ | คำอธิบาย |
|---|---|
| ทำความสะอาด | ล้างวัตถุทั้งหมดที่สร้างขึ้น |
| CR | รวบรวมและเรียกใช้ |
| RMProper | ล้างไฟล์วัตถุทั้งหมด |
| วิ่ง | ดำเนินการโปรแกรมหลัก |
ตามคำสั่งพร้อมท์หรือ PowerShell และไปที่ไดเรกทอรีของโครงการและดำเนินการ execute.bat





| หมวดหมู่ | เรียงลำดับ |
|---|---|
| ลึกลับและสนุกและเบ็ดเตล็ด | การจัดเรียงไม่ดี BOGO BOGO จัดเรียง เรียงลำดับ การเรียงลำดับฟอง ค็อกเทล BOGO จัดเรียง แลกเปลี่ยน BOGO การเรียงลำดับน้อยกว่า bogo แพนเค้กเรียงลำดับ เรียงลำดับโง่ นอน จัดเรียงช้า สปาเก็ตตี้จัดเรียง จัดเรียง Stooge |
| แลกเปลี่ยน | จัดเรียงฟอง เรียงลำดับวงกลม ค็อกเทลเชคเกอร์เรียงลำดับ การจัดเรียงหวี การจัดเรียงแบบคู่แบบคู่ Gnome จัดเรียง เรียงลำดับแม้กระทั่ง การเรียงลำดับฟองที่ดีที่สุด เครื่องปั่นค็อกเทลที่ดีที่สุดเรียงลำดับ การเรียงลำดับคำพังเพยที่เหมาะสม จัดเรียงอย่างรวดเร็ว จัดเรียง 3 ทางอย่างรวดเร็ว จัดเรียงอย่างรวดเร็วมั่นคง |
| ลูกผสม | ทิมจัดเรียง |
| การแทรก | การจัดเรียงต้นไม้ AVL การเรียงลำดับไบนารี การจัดเรียงรอบ เรียงลำดับ การจัดเรียงความอดทน จัดเรียงเปลือกหอย จัดเรียงต้นไม้ |
| ผสาน | เรียงลำดับจากล่างขึ้นบน เรียงลำดับในสถานที่ การเรียงลำดับ |
| เครือข่ายและพร้อมกัน | เรียงลำดับ Bitonic การจัดเรียงเครือข่ายคู่ |
| ไม่ใช่การเปรียบเทียบและการกระจาย | จัดเรียงถัง การนับการเรียงลำดับ การจัดเรียงแรงโน้มถ่วง (ลูกปัด) การจัดเรียงนกพิราบ Radix LSD เรียงลำดับ |
| การเลือก | การเลือกสองครั้ง Max Heap เรียงลำดับ MIN HEAP จัดเรียง การเลือกการเลือก |
| อัลกอริทึม | กรณีที่เลวร้ายที่สุด | กรณีที่ดีที่สุด | เฉลี่ย | ความซับซ้อนของอวกาศ | ในสถานที่ | มั่นคง | หมายเหตุ |
|---|---|---|---|---|---|---|---|
| การจัดเรียงไม่ดี | o (n³) | o (n³) | o (n³) | o (1) | |||
| BOGO BOGO จัดเรียง | o (อินฟินิตี้) | o (n²) | o ((n+1)!) | o (1) | กรณีที่เลวร้ายที่สุดสามารถยกเลิกได้เนื่องจากการจัดการแบบสุ่ม | ||
| เรียงลำดับ | o (อินฟินิตี้) | บน) | o ((n+1)!) | o (1) | กรณีที่เลวร้ายที่สุดสามารถยกเลิกได้เนื่องจากการจัดการแบบสุ่ม | ||
| การเรียงลำดับฟอง | o (อินฟินิตี้) | บน) | o ((n+1)!) | o (1) | กรณีที่เลวร้ายที่สุดสามารถยกเลิกได้เนื่องจากการจัดการแบบสุ่ม | ||
| ค็อกเทล BOGO จัดเรียง | o (อินฟินิตี้) | บน) | o ((n+1)!) | o (1) | กรณีที่เลวร้ายที่สุดสามารถยกเลิกได้เนื่องจากการจัดการแบบสุ่ม | ||
| แลกเปลี่ยน BOGO | o (อินฟินิตี้) | บน) | o ((n+1)!) | o (1) | กรณีที่เลวร้ายที่สุดสามารถยกเลิกได้เนื่องจากการจัดการแบบสุ่ม | ||
| การเรียงลำดับน้อยกว่า bogo | o (อินฟินิตี้) | o (n²) | o ((n+1)!) | o (1) | กรณีที่เลวร้ายที่สุดสามารถยกเลิกได้เนื่องจากการจัดการแบบสุ่ม | ||
| แพนเค้กเรียงลำดับ | o (n²) | o (n²) | o (n²) | o (1) | |||
| เรียงลำดับโง่ | o (n²) | o (n²) | o (n²) | o (1) | |||
| นอน | o (int_max) | o (สูงสุด (อินพุต) + n) | o (สูงสุด (อินพุต) + n) | บน) | ใช้ตัวกำหนดตารางเวลา CPU เพื่อจัดเรียง | ||
| จัดเรียงช้า | o (n*n!) | บน) | o ((n+1)!) | o (1) | |||
| สปาเก็ตตี้จัดเรียง | บน) | บน) | บน) | บน) | |||
| จัดเรียง Stooge | ![]() | ![]() | ![]() | บน) | |||
| จัดเรียงฟอง | o (n²) | บน) | o (n²) | o (1) | |||
| เรียงลำดับวงกลม | o (n log n log n) | o (n log n) | o (n log n) | o (1) | |||
| ค็อกเทลเชคเกอร์เรียงลำดับ | o (n²) | o (n²) | o (n²) | o (1) | |||
| การจัดเรียงหวี | o (n²) | o (n log n) | ![]() | o (1) | P คือจำนวนเพิ่มขึ้น | ||
| การจัดเรียงแบบคู่แบบคู่ | o (n²) | o (n log n) | o (n log n) | o (log n) | |||
| Gnome จัดเรียง | o (n²) | บน) | o (n²) | o (1) | |||
| เรียงลำดับแม้กระทั่ง | o (n²) | บน) | o (n²) | o (1) | |||
| การเรียงลำดับฟองที่ดีที่สุด | o (n²) | บน) | o (n²) | o (1) | |||
| เครื่องปั่นค็อกเทลที่ดีที่สุดเรียงลำดับ | o (n²) | บน) | o (n²) | o (1) | |||
| การเรียงลำดับคำพังเพยที่เหมาะสม | o (n²) | บน) | o (n²) | o (1) | |||
| จัดเรียงอย่างรวดเร็ว | o (n²) | o (n log n) | o (n log n) | o (log n) | |||
| จัดเรียง 3 ทางอย่างรวดเร็ว | o (n²) | บน) | o (n log n) | o (log n) หรือ o (n) | |||
| จัดเรียงอย่างรวดเร็วมั่นคง | o (n²) | o (n log n) | o (n log n) | บน) | |||
| ทิมจัดเรียง | o (n log n) | บน) | o (n log n) | บน) | |||
| การจัดเรียงต้นไม้ AVL | o (n log n) | บน) | o (n log n) | บน) | ในกรณีที่เลวร้ายที่สุด o (n²) เมื่อใช้แผนผังไบนารีและ o (n log n) เมื่อใช้แผนผังไบนารีที่สมดุลตนเอง | ||
| การเรียงลำดับไบนารี | o (n log n) | บน) | o (n log n) | o (1) | |||
| การจัดเรียงรอบ | o (n²) | o (n²) | o (n²) | o (1) | |||
| เรียงลำดับ | o (n²) | บน) | o (n²) | o (1) | |||
| การจัดเรียงความอดทน | o (n log n) | บน) | o (n log n) | บน) | |||
| จัดเรียงเปลือกหอย | หรือ o (n log² n) | o (n log n) | o (n^1.25) ถึง o (n²) | o (1) | |||
| จัดเรียงต้นไม้ | o (n²) | o (n log n) | o (n log n) | บน) | ในกรณีที่เลวร้ายที่สุด o (n²) เมื่อใช้แผนผังไบนารีและ o (n log n) เมื่อใช้แผนผังไบนารีที่สมดุลตนเอง | ||
| เรียงลำดับจากล่างขึ้นบน | o (n log n) | o (n log n) | o (n log n) | บน) | |||
| เรียงลำดับในสถานที่ | o (n²) | o (n²) | o (n²) | o (log n) | |||
| การเรียงลำดับ | o (n log n) | o (n log n) | o (n log n) | บน) | |||
| เรียงลำดับ Bitonic | o (log² n) | o (log² n) | o (log² n) | o (n log² n) | |||
| การจัดเรียงเครือข่ายคู่ | หรือ o (n log n) | o (n log n) | o (n log n) | ![]() | กรณีที่เลวร้ายที่สุดคือการใช้เวลาและความซับซ้อนของพื้นที่ | ||
| จัดเรียงถัง | o (n²) | o (n+k) | o (n+k) | o (n+k) | k คือจำนวนถัง | ||
| การนับการเรียงลำดับ | o (n+k) | o (n+k) | o (n+k) | o (n+k) | K คือช่วงของข้อมูลอินพุต | ||
| การจัดเรียงแรงโน้มถ่วง (ลูกปัด) | o (s) | o (1) หรือ ![]() | บน) | o (n²) | s คือผลรวมขององค์ประกอบอาร์เรย์ o (1) ไม่สามารถนำไปใช้ในทางปฏิบัติ | ||
| การจัดเรียงนกพิราบ | o (n+n) | o (n+n) | o (n+n) | o (n+n) | n คือจำนวนองค์ประกอบและ n คือช่วงของข้อมูลอินพุต | ||
| Radix LSD เรียงลำดับ | O (NW) | O (NW) | O (NW) | บน) | W คือความกว้างขององค์ประกอบ Maxumum (บิต) | ||
| การเลือกสองครั้ง | o (n²) | o (n²) | o (n²) | o (1) | การเปรียบเทียบ | ||
| Max Heap เรียงลำดับ | o (n log n) | o (n log n) | o (n log n) | o (1) | |||
| MIN HEAP จัดเรียง | o (n log n) | o (n log n) | o (n log n) | o (1) | |||
| การเลือกการเลือก | o (n²) | o (n²) | o (n²) | o (1) | การเปรียบเทียบ |