常见数组和链表的运行时间 数组 读取O(1)插入O(n)删除O(n) 链表 读取O(n)插入O(1)删除O(1) 选择排序 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]) 小结 计算机内存犹如一大堆抽屉。需要存储多个元素时,可使用数组或链表。数组的元素都在一起。链表的元素是分开的,其中每个元素都存储了下一个元素的地址。0数组的读取速度很快。链表的插人和删除速度很快。在同一个数组中,所有元素的类型都必须相同(都为int、double等 )。