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

娱乐网站排行榜网站小程序制作公司

娱乐网站排行榜,网站小程序制作公司,备案网站负责人必须为法人吗,苏州网页制作报价插入排序 插入排序是一种简单的排序算法#xff0c;以数组为例#xff0c;我们可以把数组看成是多个数组组成。插入排序的基本思想是往前面已排好序的数组中插入一个元素#xff0c;组成一个新的数组#xff0c;此数组依然有序。光看文字可能不理解#xff0c;让我们看看…插入排序 插入排序是一种简单的排序算法以数组为例我们可以把数组看成是多个数组组成。插入排序的基本思想是往前面已排好序的数组中插入一个元素组成一个新的数组此数组依然有序。光看文字可能不理解让我们看看图示 插入排序的时间复杂度为 O(N²)。 算法实现 import (fmt )func main() {nums : [4]int{4, 1, 3, 2}fmt.Println(原数组, nums)fmt.Println(--------------------------------)InsertionSort(nums) }func InsertionSort(nums [4]int) {for i : 1; i len(nums); i {for j : i; j 0 nums[j] nums[j-1]; j-- {nums[j], nums[j-1] nums[j-1], nums[j]}fmt.Printf(第 %d 轮后%v\n, i, nums)}fmt.Println(--------------------------------)fmt.Println(排序后的数组, nums) }执行结果 原数组 [4 1 3 2] -------------------------------- 第 1 轮后[1 4 3 2] 第 2 轮后[1 3 4 2] 第 3 轮后[1 2 3 4] -------------------------------- 排序后的数组 [1 2 3 4]原数组 [4 1 3 2] 第 1 轮后[1 4 3 2] 第 2 轮后[1 3 4 2] 第 3 轮后[1 2 3 4] 排序后的数组 [1 2 3 4] 算法优化 上面的代码是通过不断地交换元素直到无法交换才能将元素放置到待插入的位置为了避免频繁交换元素而导致效率低将交换的逻辑变成把前面的数往后移最后再将待排序的元素插入到合适的位置即可。 import (fmt )func main() {nums : [4]int{4, 1, 3, 2}fmt.Println(原数组, nums)fmt.Println(--------------------------------)InsertionSort(nums) }func InsertionSort(nums [4]int) {for i : 1; i len(nums); i {t : nums[i]j : ifor ; j 0 t nums[j-1]; j-- {nums[j] nums[j-1]}nums[j] tfmt.Printf(第 %d 轮后%v\n, i, nums)}fmt.Println(--------------------------------)fmt.Println(排序后的数组, nums) }用变量 t 记录待排序的元素用 j 变量往前查找只要前面的数比 t 大那么就往后移最后将 t 插入到合适的位置。 小结 本文首先对插入排序进行简单地介绍通过图片来演示插入排序的过程然后使用 Go 语言实现插入排序的算法。为减少算法中交换次数的逻辑对算法进行优化将交换的逻辑变成把前面的数往后移最后将待排序的数插入到合适的位置即可。 除了这种优化方式还有一种改造方式普通的算法往左查找的方式是线性查找由于元素是有序的因此线性查找可以换成二分查找但是经过二分找到待插入的位置之后也得移动前面的元素相比上面的优化方法还多了 O(logn) 的查找时间复杂度因此我认为没有必要改造成二分查找。
http://www.hkea.cn/news/14553247/

相关文章:

  • 焦作市建设银行网站网站后台图片传不上去怎么办
  • 自适应网站建设案例长沙多地发布最新通告
  • 企业网站建设费计入网页游戏开发教程
  • 网站建设模板源代码视频网站 移动 模板
  • 网络网站制作技巧百度百科官网首页
  • 鞍山网站设计公司wordpress外贸模板下载
  • 一键网站提交动漫制作专业报告
  • 网站优化套餐天津企业做网站
  • 男男做的视频网站好数商云网络
  • 北京网站设计成功a刻江苏省建设网站首页
  • 微信商城网站建设视频如何在局域网上做网站
  • 帝国网站管理系统前台我想花钱做网站
  • 东莞网站建设曼哈顿信科西安网站维护托管
  • iis 浏览网站超短网址生成
  • 做app网站的公司名称哔哩哔哩网页版下载视频
  • 招远网站服务哪家好网站制作
  • 毕设做网站答辩一般问什么网站推广的心得
  • 门户网站有哪些局限性学习php网站开发怎么样
  • 高端品牌网站有哪些最大的域名注册网站是那个
  • 深圳网站设计什么网站可以做长图攻略
  • 城市焦点商城网站建设案例艺术网站定制
  • 中国医院建设协会网站商务网站建设网站开发
  • 360网站图标怎么做wordpress怎么手动更新
  • 展览馆网站建设方案书wordpress theme 企业
  • 网站建设与制作与维护iphone wordpress
  • 网站建设一定要买数据盘吗app研发费用一般多少钱
  • 网站集约化建设流程建设网站一般要多久到账
  • 泊头网站排名优化阿里域名购买
  • 朝阳商城网站建设wordpress 弹出层
  • 新网站多久会被百度收录营销策划公司取名大全