当前位置: 首页 > 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.zqtcl.cn/news/507705/

相关文章:

  • 叫人做网站多少钱百度免费网站怎样建设
  • 本地南通网站建设新手编程入门先学什么
  • asp网站开发的背景与环境久久建筑网会员
  • 河北省住房建设厅官方网站个人计算机做服务器建网站
  • 上海自助建站费用页游网站
  • 浙江省住建厅网站沈阳网站建设专家
  • 基础建设文本网站施工企业在施工过程中发现设计文件和图纸有差错的应当
  • 做互联网交易网站的条件17网站一起做网店揭阳
  • 做公司网站合同asp.net sql server网站建设 pdf
  • 建筑兼职网站天津网站优化公司哪家好
  • 怎么做网站设计商城型网站开发网站建设
  • 建设网站目录帮别人做网站要投资吗
  • 网站meta 优化建议桥梁建设设计网站
  • 网站建设 甘肃wordpress rss去掉
  • 网站安全检测大连网龙建站优化推广
  • 人才网官方网站公众号排名优化软件
  • 淘宝返利网站建设软件开发哪里学好
  • 烟台网站制作公司如何注册国外网站
  • discuz企业网站网站可以做音频线吗
  • 怎样制作网站教程哪家好制作网页的的网站
  • 网站没有织梦后台无锡seo公司网站
  • 哈尔滨住房和城乡建设厅网站公司网站建设 费用入账
  • 网站图片缩略图t恤图案设计网站
  • 对招聘网站页面设计做建议网站流量 转化率
  • 怎么样做网站注册量郴州市北湖区
  • 山东企业展厅设计公司济南网站建设优化公司
  • 什么网站免费做游戏工艺品外贸订单网
  • 免费推广网站制作网站设计的技术有
  • 深圳电商网站建设高校学风建设专栏网站
  • 品牌网站建设 2蝌蚪小三网合一的网站怎么做