图解算法第二张:选择排序(列表与链表)

    xiaoxiao2022-07-12  158

    文章目录

    1,内存工作原理计算机的内存犹如一大堆抽屉,每个空间有对应地址 2,链表与列表及其优劣2.2,数组元素都在一起,所有元素类型必须相同,而链表是分开的,每个元素都储存了下个元素的地址2.3,数组的读取速度很快O(1),而链表的插入和删除速度很快O(1) 3,选择排序O(N^2)复杂度,两次遍历,一次找到最小,一次加入新数组

    1,内存工作原理

    计算机的内存犹如一大堆抽屉,每个空间有对应地址

    2,链表与列表及其优劣

    存储多个元素可以用数组或链表

    2.2,数组元素都在一起,所有元素类型必须相同,而链表是分开的,每个元素都储存了下个元素的地址

    2.3,数组的读取速度很快O(1),而链表的插入和删除速度很快O(1)

    3,选择排序

    O(N^2)复杂度,两次遍历,一次找到最小,一次加入新数组

    # 找出数组中的最小元素 def findSmallest(arr): # 存储最小的值 smallest = arr[0] # 存储最小元素的索引 smallest_index = 0 for i in range(1, len(arr)): if arr[i] < smallest: smallest_index = i smallest = arr[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,2,7,9,4,19]))
    最新回复(0)