1.数组和链表
- 数组中元素在内存中是相连的;链表中元素可存储在内存的任何地方,其中每个元素都存储了下一个元素的地址。
- 数组支持随机访问,链表只能顺序访问。
- 元素的位置称为索引。
- 在同一个数组中,所有元素的类型必须相同。
- 常见数组和链表的运行时间(数组读取速度快,链表的插入和删除速度快)
数组 | 链表 | |
读取 | O(1) | O(n) |
插入 | O(n) | O(1) |
删除 | O(n) | O(1) |
2.选择排序
- 熟悉数组、链表和大O表示法
- 运行时间为O(n^2)
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]))