Day001-算法之三大基本排序

三大基本排序算法
冒泡排序选择排序插入排序

冒泡排序

冒泡排序(Bubble Sort)是一种简单直观的排序算法。它重复地走访过列表,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢"浮"到数列的顶端。

Day001-算法之三大基本排序

代码

def BubbleSort(lst):
top = len(lst) #确定列表长度
for i in range(top): #遍历次数在此
top -= 1 #确保遍历一次后不再重复比较最右边最大的数字
for j in range(top):
if lst[j] > lst[j+1]:
lst[j],lst[j+1] = lst[j+1],lst[j]
return lst

选择排序

选择排序是一种简单直观的排序算法。它通过反复遍历列表,选出最大/小的数字按顺序排到左/右边,直到全部数字排序完毕。

Day001-算法之三大基本排序

代码

def SelectionSort(lst):
for i in range(len(lst)-1):
flag = i
for j in range(i+1,len(lst)):
if lst[j] < lst[flag]:
flag = j
if i != flag: #如果i的位置不是最小数,则交换
lst[i],lst[flag] = lst[flag],lst[i]
return lst

插入排序

类似于打牌的排序算法,从左至右依次把未排序列的数字插入已排序列之中。

Day001-算法之三大基本排序

def InsertionSort(lst):
for i in range(len(lst)):
flag = i -1 #插旗
current = lst[i]
while flag >= 0 and lst[flag] > current: #从旗帜位置递减,依次寻找插空位置
lst[flag+1] = lst[flag]
flag -= 1
lst[flag+1] = current
return lst

原创:https://www.panoramacn.com
源码网提供WordPress源码,帝国CMS源码discuz源码,微信小程序,小说源码,杰奇源码,thinkphp源码,ecshop模板源码,微擎模板源码,dede源码,织梦源码等。

专业搭建小说网站,小说程序,杰奇系列,微信小说系列,app系列小说

Day001-算法之三大基本排序

免责声明,若由于商用引起版权纠纷,一切责任均由使用者承担。

您必须遵守我们的协议,如果您下载了该资源行为将被视为对《免责声明》全部内容的认可-> 联系客服 投诉资源
www.panoramacn.com资源全部来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。 敬请谅解! 侵权删帖/违法举报/投稿等事物联系邮箱:2640602276@qq.com
未经允许不得转载:书荒源码源码网每日更新网站源码模板! » Day001-算法之三大基本排序
关注我们小说电影免费看
关注我们,获取更多的全网素材资源,有趣有料!
120000+人已关注
分享到:
赞(0) 打赏

评论抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

您的打赏就是我分享的动力!

支付宝扫一扫打赏

微信扫一扫打赏