Skip to content

Commit b0c2e03

Browse files
committed
fix selection sort
1 parent 4608e40 commit b0c2e03

2 files changed

Lines changed: 3 additions & 6 deletions

File tree

‎README.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ algorithms
3030
- Quicksort (Hoare partition scheme) :white_check_mark:
3131
- Quicksort (middle pivot) :x:
3232
- Insertion Sort :white_check_mark:
33-
- Selection Sort
33+
- Selection Sort :white_check_mark:
3434
- search
3535
- Linear Search :white_check_mark:
3636
- Binary Search :white_check_mark:

‎academic/examples/sort/selection.py‎

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,6 @@
55

66
def selection_sort(lst):
77
"""
8-
FIXME broken:
9-
[1, 2, 3, 4, 6, 7, 7, 9, 0] != [0, 1, 2, 3, 4, 6, 7, 7, 9]
10-
118
selection sort is a naive sorting algorithm
129
Complexity:
1310
n + n-1 + n-2 ... 1
@@ -16,10 +13,10 @@ def selection_sort(lst):
1613
O(n^2)
1714
"""
1815
target_index = 0
19-
while target_index < len(lst) - 1:
16+
while target_index < len(lst):
2017
less_item = None
2118
less_item_index = None
22-
for i in range(target_index, len(lst) - 1):
19+
for i in range(target_index, len(lst)):
2320
item = lst[i]
2421
if less_item is None or item < less_item:
2522
less_item = item

0 commit comments

Comments
 (0)