算法图解学习3 选择排序
创始人
2024-02-12 08:22:31

random recording 随心记录
What seems to us as bitter trials are often blessings in disguise.
看起来对我们痛苦的试炼,常常是伪装起来的好运。

选择排序

内存工作原理

背景引入

假设你去看演出,需要将东西寄存。寄存处有一个柜子,柜子有很多抽屉。每个抽屉可放一样东西,你有两样东西要寄存,因此要了两个抽屉。你将两样东西存放在这里。现在你可以去看演出了!这大致就是计算机内存的工作原理。计算机就像是很多抽屉的集合体,每个抽屉都有地址。
在这里插入图片描述

fe0ffeeb是一个内存单元的地址,需要将数据存储到内存时,请求计算机提供存储空间,计算机会给一个存储地址。需要存储多项数据时,有两种基本方式——数组和链表,但它们并非都适用于所有的情形。

数组和链表

假如要编写一个待办事件的应用程序,有4个待办事情,吃午饭,玩地滚球,喝茶,睡觉。

数组

数组是一串连续的内存地址。
用数组来管理待办事件,就需要申请一串连续的地址空间来存储,如果第四个事件的地址被占用,就需要重新申请其他连续地址空间,有点麻烦,也可以一开始就申请多余的空间,但这样会造成空间浪费,而且之后有更多的事情,还需要重新转移,这个情况可以考虑使用链表。在这里插入图片描述

数组元素带编号,从下标索引0开始

在这里插入图片描述

需要随机地读取元素时,数组的效率很高,因为可迅速找到数组的任何元素,即读取效率高,访问数组下标即可查询数据,即随机访问。
在这里插入图片描述
复杂度

在这里插入图片描述

链表

链表中的元素可存储在内存的任何地方,链表的每个元素都存储了下一个元素的地址,从而使一系列随机的内存地址串在一起。
使用链表来管理待办事件,就不需要考虑地址连续问题,可以动态地存储对象,分配内存。
在这里插入图片描述

链表查询效率低,每次访问元素,都需要从头开始,即顺序访问。但是删除,插入效率高

数组链表时间复杂度比较

在这里插入图片描述

选择排序实现

遍历列表,每次找出其中最大或最小元素,依次加入到新列表中。

# 找出列表最小值
def findSmall(arr):value = arr[0] # 初始最小值value_index = 0 # 索引# 遍历for i in range(1,len(arr)):if arr[i] <= value:value = arr[i]value_index = ireturn value_index
def selectSort(arr):newArr = []for i in range(len(arr)):small = findSmall(arr)newArr.append(arr.pop(small))return newArr
print(selectSort([1,4,5,2,7,8])) # [1, 2, 4, 5, 7, 8]

上一篇:自嘲的名句

下一篇:什么什么抖搂成语

相关内容

热门资讯

北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...