当前位置: 首页 > wzjs >正文

重庆江北区网站建设怎么引流推广

重庆江北区网站建设,怎么引流推广,西宁网站,企业网站怎么做的Bubble Sort 冒泡排序 冒泡排序的原理非常简单,它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。 步骤: 比较相邻的元素。如果第一个比第二个大,就交换他们两个。对第0个到第n-1个数据做同样的工作。这时,最大的数就“浮”到了数组最…

Bubble Sort 冒泡排序

冒泡排序的原理非常简单,它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。

步骤:

  1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
  2. 对第0个到第n-1个数据做同样的工作。这时,最大的数就“浮”到了数组最后的位置上。
  3. 针对所有的元素重复以上的步骤,除了最后一个。
  4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
def bubble_sort(arry):n = len(arry) #获得数组的长度for i in range(n):for j in range(1,n-i):if arry[j-1] > arry[j] : #如果前者比后者大arry[j-1],arry[j] = arry[j],arry[j-1] #则交换两者return arry

 

针对上述代码还有两种优化方案。

优化1:某一趟遍历如果没有数据交换,则说明已经排好序了,因此不用再进行迭代了。用一个标记记录这个状态即可。

#优化1:某一趟遍历如果没有数据交换,则说明已经排好序了,因此不用再进行迭代了。
#用一个标记记录这个状态即可。
def bubble_sort2(ary):
    n = len(ary)
    for i in range(n):
        flag = 1 #标记
        for j in range(1,n-i):
            if ary[j-1] > ary[j] :
                ary[j-1],ary[j] = ary[j],ary[j-1]
                flag = 0
        if flag : #全排好序了,直接跳出
            break
    return ary

优化2:记录某次遍历时最后发生数据交换的位置,这个位置之后的数据显然已经有序,不用再排序了。因此通过记录最后发生数据交换的位置就可以确定下次循环的范围了。

#优化2:记录某次遍历时最后发生数据交换的位置,这个位置之后的数据显然已经有序了。
# 因此通过记录最后发生数据交换的位置就可以确定下次循环的范围了。
def bubble_sort3(ary):
    n = len(ary)
    k = n #k为循环的范围,初始值n
    for i in range(n):
        flag = 1
        for j in range(1,k): #只遍历到最后交换的位置即可
            if ary[j-1] > ary[j] :
                ary[j-1],ary[j] = ary[j],ary[j-1]
                k = j #记录最后交换的位置
                flag = 0
        if flag :
            break
    return ary

Selection Sort 选择排序

选择排序无疑是最简单直观的排序。它的工作原理如下。

步骤:

  1. 在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。
  2. 再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。
  3. 以此类推,直到所有元素均排序完毕。
def select_sort(ary):n = len(ary)for i in range(0,n):min = i #最小元素下标标记for j in range(i+1,n):if ary[j] < ary[min] :min = j #找到最小值的下标ary[min],ary[i] = ary[i],ary[min] #交换两者return ary

Insertion Sort 插入排序

插入排序的工作原理是,对于每个未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。

步骤:

  1. 从第一个元素开始,该元素可以认为已经被排序
  2. 取出下一个元素,在已经排序的元素序列中从后向前扫描
  3. 如果被扫描的元素(已排序)大于新元素,将该元素后移一位
  4. 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置
  5. 将新元素插入到该位置后
  6. 重复步骤2~5

def insert_sort(ary):
    n = len(ary)
    for i in range(1,n):
        if ary[i] < ary[i-1]:
       

http://www.dtcms.com/wzjs/488552.html

相关文章:

  • wordpress免签支付插件上海搜索引擎优化seo
  • 做网站的好处充电宝关键词优化
  • 网站开发公司erp黄石seo
  • 做网站需要什么素材浏览广告赚钱的平台
  • 蝴蝶传媒网站推广大连seo顾问
  • 建设网站必备的三大要素百度网盘免费下载
  • 如何做好网站建设衡阳seo优化首选
  • 政府建设网站邯郸seo优化公司
  • 温州网站建设新手网站域名备案查询
  • 制作网站是什么专业seo观察网
  • 做调查赚钱的网站有哪些手机百度一下百度
  • 网站建设进展情况汇报百度软件中心官网
  • 婴儿衣服做的网站百度官网认证
  • ftp下载wordpress5g网络优化工程师
  • 做一个购物网站需要什么技术自动引流免费app
  • 教育培训机构怎么建设网站seo关键词排名优化评价
  • 公众号交易平台太原seo网站管理
  • 在百度做广告多少钱seo模拟点击软件
  • 电子商务网站建设类论文市场推广方案怎么做
  • wordpress免登陆接口网站外链优化方法
  • 建设系统网站首页周口seo
  • 禅城容桂网站制作seo在线优化工具
  • 织梦后台生成网站地图平台推广策略都有哪些
  • 响应式网站建设服务免费创建网站
  • 购物网站建设的意义与目的关键词可以分为哪三类
  • 做网站找哪家靠谱网络营销是什么专业类别
  • 如何获取网站域名证书河北seo技术培训
  • 遵义网站建设txwl广东免费网络推广软件
  • 备案网站转入阿里云常用的网络营销方法
  • 如何写一份食品的网站建设规划怎么接广告推广