Skip to content

Commit 465091c

Browse files
committed
optimize mergesort
1 parent 0660da9 commit 465091c

1 file changed

Lines changed: 4 additions & 6 deletions

File tree

sorting and basics/sorting.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,8 @@ def mergesort(arr):
99
"""
1010
n = len(arr)
1111
if n <= 1: return arr
12-
a1 = arr[:n/2]
13-
a2 = arr[n/2:]
14-
a1 = mergesort(a1)
15-
a2 = mergesort(a2)
12+
a1 = mergesort(arr[:n/2])
13+
a2 = mergesort(arr[n/2:])
1614
return merge(a1, a2)
1715

1816
def merge(arr_a, arr_b):
@@ -25,8 +23,8 @@ def merge(arr_a, arr_b):
2523
else:
2624
arr_c.append(arr_b[j])
2725
j += 1
28-
if arr_a[i:]: arr_c += arr_a[i:]
29-
if arr_b[j:]: arr_c += arr_b[j:]
26+
if arr_a[i:]: arr_c.extend(arr_a[i:])
27+
if arr_b[j:]: arr_c.extend(arr_b[j:])
3028
return arr_c
3129

3230
def quicksort(a):

0 commit comments

Comments
 (0)