Алгоритм сортування | Кількість елементів | Час виконання (секунди) | O-складність |
---|---|---|---|
Merge Sort | 1000 | 0.000832 | O(n log n) |
Insertion Sort | 1000 | 0.016398 | O(n²) |
Merge Sort | 10000 | 0.016736 | O(n log n) |
Insertion Sort | 10000 | 1.153768 | O(n²) |
Merge Sort | 100000 | 0.135519 | O(n log n) |
Insertion Sort | 100000 | 113.518767 | O(n²) |
TimSort | 1000 | 0.000086 | O(n log n) |
TimSort | 10000 | 0.000861 | O(n log n) |
TimSort | 100000 | 0.010510 | O(n log n) |
У даному порівнянні проаналізовано три різних алгоритми сортування: Merge Sort, Insertion Sort та TimSort. Для кожного алгоритму проаналізовано час виконання на трьох різних розмірах даних (1000, 10000 та 100000 елементів). Також враховано теоретичну O-складність кожного алгоритму.
-
Merge Sort та TimSort: Обидва ці алгоритми показали себе ефективними на великих наборах даних. Вони мають O-складність
O(n log n)
, що демонструє їх ефективність у випадку з великою кількістю елементів. TimSort, який є оптимізованою версією Merge Sort, трохи перевершив його за швидкістю. -
Insertion Sort: Цей алгоритм є найменш ефективним, особливо на великих наборах даних, через свою O-складність
O(n²)
. Він може бути використаний для невеликих масивів, де його простота і стабільність можуть бути корисними, але для великих даних він значно поступається іншим алгоритмам.
Під час вибору алгоритму сортування важливо враховувати розмір даних. Для великих наборів даних бажано використовувати алгоритми з нижчою O-складністю, такі як TimSort та Merge Sort.