一。冒泡排序:
1.冒泡排序是将无序的数字排列成从小到大的有序组合:
过程:对相邻的两个元素进行比较,对不符合要求的数据进行交换,最后达到数据有序的过程。
规律:
1.冒泡排序的趟数时固定的:n-1
2.冒泡排序比较的次数时固定的:n*(n-1)/2
3.冒泡排序交换的次数时不固定的:但是最大值为:n*(n-1)/2
注意:n = 数据个数,排序过程中需要临时变量存储要交换的数据
eg:
l=[688, 888, 711,999,1,4,6] for i in range(len(l)-1): for j in range(len(l)-1): if l[j]>l[j+1]: tmp=l[j] l[j]=l[j+1] l[j+1]=tmp print(l)
二。选择排序:
list=[10,3,5,2,9]
过程,循环当前列表,将当前循环到的值与余下的每个数字相比较,如果比当前值小,就与当前值交换位置。
eg:
l=[688, 888, 711,999,1,4,6] for i in range(len(l)-1): for j in range(i+1,len(l)): if l[j]<l[i]: tmp=l[i] l[i]=l[j] l[j]=tmp print(l)
优化:每次找到最小值后不立即替换,而是等待本次循环结束再替换,减少了操作的次数,效率提高了
l=[688, 888, 711,999,1,4,6] for i in range(len(l)-1): Min=i for j in range(i+1,len(l)): if l[Min] > l[j]: Min=j tmp=l[Min] l[Min]=l[i] l[i]=tmp print(l)
三。插入排序:
插入排序(Insertion Sort)的基本思想是:将列表分为2部分,左边为排序好的部分,右边为未排序的部分,循环整个列表,每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中的适当位置,直到全部记录插入完成为止。
eg:
array=[9,8,7,6,5,4,3,2,1] for i in range(1,len(array)): current_val=array[i] current_position=i while current_position >0 and array[current_position-1] > current_val: array[current_position]=array[current_position-1] current_position-=1 array[current_position]=current_val print(array)
以上所述是小编给大家介绍的python常用程序算法详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。