常见数组和链表的运行时间
数组
链表
选择排序
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等 )。