選擇排序(selection sort)是一種簡單直觀的排序演算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小(大)元素,然後放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。
選擇排序的主要優點與資料移動有關。如果某個元素位於正確的最終位置上,則它不會被移動。選擇排序每次交換一對元素,它們當中至少有乙個將被移到其最終位置上,因此對n個元素的表進行排序總共進行至多n-1次交換。在所有的完全依靠交換去移動元素的排序方法中,選擇排序屬於非常好的一種。
def selection_sort(nums):
n = len(nums)
for i in range(n-1):
min_index = i
for j in range(i+1,n):
if nums[j] < nums[min_index]:
min_index = j
if min_index != i:
nums[i],nums[min_index] = nums[min_index],nums[i]
alist = [54,226,93,17,77,31,44,55,20]
selection_sort(alist)
print(alist)
資料結構 排序 選擇排序
選擇排序 所謂選擇排序,就是不斷從剩下的元素中選擇最小的元素放入前面,那麼 前面 我們就從下標為 0 i 0 的第乙個元素開始 此時我們假設下標為 0 的元素是最小的,minindex 0,minindex 就是最小值的索引 相應的剩下的元素則從 i 1 的位置開始,也就是從 1 開始,然後依次與 ...
資料結構 排序(選擇排序)
排序 選擇排序法 include include include include 選擇排序 selection sort 是一種簡單直觀的排序演算法。它的工作原理是每一次從待排序的資料元素中選出最小 或最大 的乙個元素,存放在序列的起始位置,直到全部待排序的資料元素排完。選擇排序是不穩定的排序方法 ...
資料結構 選擇排序
選擇排序是一種比較直觀的排序方法 選擇排序的思想在於 預設公升序排序 在乙個陣列當中,選擇這個陣列當中最小的元素,將這個元素放在第一位,然後尋找第二小的元素,將這個元素放在第二位。以此類推,直到將這個陣列完成排序。這是乙個比較直觀的排序方法 選擇排序 演算法思想 在遍歷陣列的時候 找出陣列當中最小的...