@@ -17,7 +17,7 @@ def adaptive_merge_sort(sequence: list) -> list:
17
17
"""
18
18
if len (sequence ) < 2 :
19
19
return sequence
20
-
20
+
21
21
aux = sequence [:]
22
22
print (f"Initial sequence: { sequence } " )
23
23
adaptive_merge_sort_helper (sequence , aux , 0 , len (sequence ) - 1 )
@@ -41,18 +41,18 @@ def adaptive_merge_sort_helper(array: list, aux: list, low: int, high: int) -> N
41
41
"""
42
42
if high <= low :
43
43
return
44
-
44
+
45
45
mid = (low + high ) // 2
46
46
print (f"Sorting: array[{ low } :{ mid + 1 } ] and array[{ mid + 1 } :{ high + 1 } ]" )
47
-
47
+
48
48
adaptive_merge_sort_helper (aux , array , low , mid )
49
49
adaptive_merge_sort_helper (aux , array , mid + 1 , high )
50
-
50
+
51
51
if array [mid ] <= array [mid + 1 ]:
52
52
print (f"Skipping merge as array[{ mid } ] <= array[{ mid + 1 } ]" )
53
53
array [low :high + 1 ] = aux [low :high + 1 ]
54
54
return
55
-
55
+
56
56
merge (array , aux , low , mid , high )
57
57
58
58
@@ -65,7 +65,7 @@ def merge(array: list, aux: list, low: int, mid: int, high: int) -> None:
65
65
After merge: [1, 2, 3, 4]
66
66
"""
67
67
print (f"Merging: array[{ low } :{ mid + 1 } ] and array[{ mid + 1 } :{ high + 1 } ]" )
68
-
68
+
69
69
i , j = low , mid + 1
70
70
for k in range (low , high + 1 ):
71
71
if i > mid :
@@ -80,10 +80,10 @@ def merge(array: list, aux: list, low: int, mid: int, high: int) -> None:
80
80
else :
81
81
aux [k ] = array [j ]
82
82
j += 1
83
-
83
+
84
84
for k in range (low , high + 1 ):
85
85
array [k ] = aux [k ]
86
-
86
+
87
87
print (f"After merge: { array [low :high + 1 ]} " )
88
88
89
89
0 commit comments