Dawn tliet algoritmi tal-għall sempliċi O(n²) tal-qgħad tal-paraguni. Huma bil-mod fuq inputs kbar iżda faċli biex tinftihim u utli għat-tagħlim tal-mekanika tal-għall.
Dawn tliet algoritmi tal-għall sempliċi O(n²) tal-qgħad tal-paraguni. Huma bil-mod fuq inputs kbar iżda faċli biex tinftihim u utli għat-tagħlim tal-mekanika tal-għall.
def insertion_sort(arr):
for i in range(1, len(arr)):
key = arr[i] # element to place
j = i - 1
while j >= 0 and arr[j] > key:
arr[j + 1] = arr[j] # shift bigger elements right
j -= 1
arr[j + 1] = key # drop key into the gap
return arr
insertion_sort([5, 2, 4, 1]) # -> [1, 2, 4, 5]
| Sort | Best | Worst | Stable | In-place |
|---|---|---|---|---|
| Bubble | O(n) | O(n²) | Yes | Yes |
| Selection | O(n²) | O(n²) | No | Yes |
| Insertion | O(n) | O(n²) | Yes | Yes |
Insertion sort huwa verament veloċi għall-arrays żgħar jew kważi sortjati u jintuża ġewwa l-sorts ibridi. Iggħaddi t-tliet kollha fuq data kbira li mhix sortjata — uża sorts O(n log n) minfloku.
Aq-sorts dawn jinbnu l-intuizzjoni għal invarianti, swaps, u stabbiltà qabel ma taċċetta algoritmi avvanzati.
Insertion sort partikolarment jidher ġewwa l-sorts tal-produzzjoni (bħal Timsort) għal subarrays żgħar.
L-fehim għaliex huma O(n²) jagħmel il-qabża għal sorts O(n log n) sinifikanti.