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

天翼云主机 网站服务器/百度手机怎么刷排名多少钱

天翼云主机 网站服务器,百度手机怎么刷排名多少钱,呼伦贝尔做网站的公司,廊坊做网站公司排名本文用python实现插入算法。插入算法的原理是:当前元素和已经排序好的部分比较,满足条件时插入,插入点之后的元素全部往后移。然而,我也正是受这个描述的误导,在实现的时候走了一些弯路。比如有以下列表: t…

本文用python实现插入算法。插入算法的原理是:当前元素和已经排序好的部分比较,满足条件时插入,插入点之后的元素全部往后移。然而,我也正是受这个描述的误导,在实现的时候走了一些弯路。比如有以下列表:

test = [2, 5, 11, 21, 10, 18, 24]

比如当前元素是10,我在开最初的实现思路是从列表的第一个元素开始,一直比较到元素11才找到合适位置.这样做最终是可以实现排序的,但是有一个问题,就是当我把10插入11的位置之后,11和21都需要往后移,这又需要另一个循环,实现如下:

def insertSort(sort_list):

list_length = len(sort_list)

if list_length < 2 :

return sort_list

for i in range(1,list_length):

key = sort_list[i]

j = 0

while j < i:

if sort_list[j] > key:

for k in range(i,j,-1):

sort_list[k] = sort_list[k-1]

sort_list[j] = key

break

j += 1

return sort_list

首先,引入了三个循环变量以及三层循环,效率较低;其次是代码结构会比较混乱,需要改进。

后来我想能不能比较完一个元素就把它移到合适的位置,好如去超市买水果,手里拿到不合适的,总会直接把它放到一边,不会再碰它。具体到算法实现,还用上面的列表举例,当前元素是10,先跟相邻的21比较,发现21比10大,则21往后移动一位,即移到10所在位置;然后10和11比较,又会把11往后移动一位;在比较到元素5时,发现已经找到了10应该存放的位置,而此时移动也随之完成。

代码实现如下:

def insertSort(sort_list):

list_length = len(sort_list)

if list_length < 2 :

return sort_list

for i in range(1,list_length):

key = sort_list[i]

j = i - 1

while j >=0 and sort_list[j] > key:

sort_list[j+1] = sort_list[j]

j -= 1

sort_list[j+1] = key

return sort_list

孰优孰劣,大家对比便知。

http://www.lbrq.cn/news/1414711.html

相关文章:

  • 浙江省建设厅官方网站/seo排名软件免费
  • 做一个动态网站多少钱/网站如何才能被百度收录
  • 分销/郑州seo优化外包公司
  • 江阴网络公司做网站/百度站长工具使用方法
  • 青海网站建设公司/网页设计制作网站html代码大全
  • ppt模板怎么做 下载网站/新闻稿范文300字
  • 网站logo怎么改/网站推广要点
  • 做网站的代码难吗/软文推广文案范文
  • 怎么做旅游网站推广/windows优化大师如何卸载
  • 破解php网站后台密码/nba最新排名
  • 做网站需要哪些流程/充电宝关键词优化
  • 黄岛网站建设/天堂tv在线观看
  • 做网站是怎么赚钱的/辅导机构
  • 如果一个网站没有备案/今日预测足球比分预测
  • 建行网站会员是什么/广州网站推广服务
  • 大连公司名称大全/河北seo
  • 口碑好的网站建设哪家好/网络seo优化推广
  • 淮安做网站的公司/最近的国际新闻
  • 网站设计与制作/百度推广如何获取精准的客户
  • 政府门户网站 建设方案/南通百度seo代理
  • 一个主机可以建设多少个网站/站长工具seo推广 站长工具查询
  • 青岛网站改版/谷歌seo排名优化
  • 郑州网站设计收费低/网站百度收录
  • 多个网站一个域名/百度关键词搜索指数查询
  • 菠菜彩票网站怎么建设/二级域名查询网站
  • 美食网站开发的目标/个人对网络营销的看法
  • 网站开发的硬件环境/爱站
  • 网站死链接怎么提交/百度官网推广
  • 免费网站建设seo/seo营销软件
  • 做网站端口映射/整合营销策略有哪些
  • 几个element-plus的UI,及环境配置
  • C++ this 指针
  • 数据结构之排序大全(3)
  • 多级缓存一致性矩阵:ABP vNext 下的旁路 / 写穿 / 写回组合实战
  • 深度学习之NLP基础
  • javaweb开发笔记—— 前端工程化