《算法圖解》之選擇排序
阿新 • • 發佈:2018-07-08
select 操作 str lec strong return ddn 算法 arr
講述內存中的基礎數據結構,數組擅長找元素,鏈表擅長找位置,為了適應對數據不同的操作要求,應當靈活使用。
1. 內存的工作原理
計算機內存猶如有很多抽屜的櫃子.
2. 數組和鏈表
數組中元素的位置稱為索引 元素xx位於索引xx處
數組與鏈表不同操作對應的時間復雜度
3. 選擇排序
定義:遍歷這個數組,取出最大的元素添加到新數組中並在元數組中刪除這個最大元素,再次遍歷這個數組...直到原數組為空
Python實現選擇排序
def findSmallest(arr): smallest = arr[0] smallest_index = 0 for i in range(1, len(arr)): if arr[i] < smallest: smallest = arr[i] smallest_index = i return smallest_index def selectionSort(arr): newArr = [] for i in range(len(arr)): smallest = findSmallest(arr) newArr.append(arr.pop(smallest)) return newArr print(selectionSort([5, 3, 6, 2, 10])) # [2, 3, 5, 6, 10]
《算法圖解》之選擇排序