静安做网站,公司网站上线的通知,百度信息流平台,如何建设营销型网站目录
1)数组和链表#xff1a;
2)选择排序算法#xff1a;
3)小结 本章内容#xff1a; 两种基本数据结构#xff1a;数组和链表#xff1b; 选择排序算法#xff1b;
1)数组和链表#xff1a;
数组是连续的内存单元#xff0c;链表可以不连续#xff1b;
链表…目录
1)数组和链表
2)选择排序算法
3)小结 本章内容 两种基本数据结构数组和链表 选择排序算法
1)数组和链表
数组是连续的内存单元链表可以不连续
链表存储单元如图所示每一个元素都含有下一个元素的地址就像玩藏宝地图一样每次只需要找到下一个元素的位置即可访问。 2)选择排序算法
例子假设你的计算机存储了很多乐曲。对于每个乐队你都记录了其作品被播放的次数如果你想对于歌曲播放次数按从多到少进行排序。你可以遍历播放列表找出播放次数最多的乐队并将该乐队添加到一个新列表重复操作得到一个有序列表运行时间为O(nxn)。 要找出播放次数最多的乐队必须检查列表中的每个元素。正如你刚才看到的这需要的时间为O(n)。因此对于这种时间为O(n)的操作你需要执行n次。 排序算法很有用你可以对电话簿中的人人名、电子邮件从新到旧进行排序。 3)小结 计算机内存犹如一大堆抽屉 需要存储多个元素时可使用数组或链表 数组的元素都在一起在内存中是连续的 链表的元素都是分开的其中每个元素都存储下一个元素的地址 数组的读取速度更快 链表的插入和删除速度很快 在同一个数组中所有元素的类型必须相同代码: Python实现选择排序的源码
#查找数组中最小元素def findSmallest(arr):smallest arr[0]smallest_index 0for i in range(1, len(arr)):if arr[i] smallest:smallest arr[i]smallest_index ireturn smallest_index#选择排序算法def selectionSort(arr):newArr []for i in range(len(arr)):smallest findSmallest(arr)newArr.append(arr.pop(smallest))return newArr