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

交河网站建设信息流优化师培训机构

交河网站建设,信息流优化师培训机构,百度抓取网站,北京seo服务商找行者seo0. 简介 插入排序#xff08;Insertion Sort#xff09; 是一种简单直观的排序算法#xff0c;它的工作原理是通过构建有序序列#xff0c;对于未排序数据#xff0c;在已排序序列中从后向前扫描#xff0c;找到相应位置并插入。插入排序在实现上#xff0c;通常…0. 简介        插入排序Insertion Sort 是一种简单直观的排序算法它的工作原理是通过构建有序序列对于未排序数据在已排序序列中从后向前扫描找到相应位置并插入。插入排序在实现上通常采用 in-place 排序即只需用到 O(1) 的额外空间的排序因而在从后向前扫描过程中需要反复把已排序元素逐步向后挪位为最新元素提供插入空间。 1. 插入排序的实现 插入排序的基本思想 从第一个元素开始该元素可以认为已经被排序取出下一个元素在已经排序的元素序列中从后向前扫描如果该元素已排序大于新元素将该元素移到下一位置重复步骤3直到找到已排序的元素小于或者等于新元素的位置将新元素插入到该位置后重复步骤2~5。 插入排序过程演示 2. 插入排序时空间复杂度分析 插入排序的时间复杂度和空间复杂度如下 时间复杂度 最坏情况逆序每次插入都需要移动元素总共需要移动的次数较多所以时间复杂度是 O(n^2)。最好情况已排序每次插入只需要比较一次所以时间复杂度是 O(n)。平均情况时间复杂度是 O(n^2)。 空间复杂度 插入排序只需要一个额外空间用于临时存储要插入的元素所以空间复杂度是 O(1)。 总结插入排序的平均和最坏情况时间复杂度都是 O(n^2)空间复杂度是 O(1)。 需要注意的是插入排序适用于部分已排序的情况这时其效率会相对较高。 3. 插入排序C语言代码 C代码实现 #include stdio.h void insertionSort(int arr[], int n) { int i, key, j; for (i 1; i n; i) { key arr[i]; j i - 1; //将arr[0..i-1]中大于key的元素移动到当前位置之前的一个位置 while (j 0 arr[j] key) { arr[j 1] arr[j]; j j - 1; } arr[j 1] key; } } void printArray(int arr[], int n) { int i; for (i 0; i n; i) { printf(%d , arr[i]); } printf(\n); } int main() { int arr[] {12, 11, 13, 5, 6}; int n sizeof(arr) / sizeof(arr[0]); insertionSort(arr, n); printArray(arr, n); return 0; } 代码详解 void insertionSort(int arr[], int n) 函数定义了一个对整数数组 arr[] 进行插入排序的函数其中 n 是数组的长度。在 for 循环中从数组的第二个元素开始索引为1每一个元素都被视为需要插入到已排序子数组的新元素。key 存储了当前正在考虑的元素的值。while 循环用于移动所有大于 key 的已排序元素向右移动一位以便为 key 提供空间。一旦找到 key 的正确位置或到达数组的开头循环就会停止。然后将 key 插入到正确的位置。printArray 函数用于打印已排序的数组。在 main 函数中我们定义了一个需要排序的数组并调用 insertionSort 函数进行排序。最后打印已排序的数组。 4. 插入排序代码运行结果 代码运行结果
http://www.dnsts.com.cn/news/32090.html

相关文章:

  • 网站设计素材下载昆明网站
  • idea做网站登录网络推广软件赚钱
  • WordPress能够做小说网站吗网站建设新模式
  • 网站建设都是需要什么软件个人网页设计作品代码
  • 邳州做网站百度推广优化中心
  • 为该网站做自适应网络营销推广活动方案
  • 教做宝宝辅食的网站网站建设属于什么类目
  • 北京市丰台区建设部官方网站济南网络品牌推广
  • 永康做网站海南网站设计
  • 电影网站如何优化安徽网站建设推荐
  • 监控性能网站模板广州商城网站建设报价
  • 做分析图超牛的地图网站wordpress pdf 打印
  • 抚州建设公司网站网站建设得花多少钱
  • 关于网站设计的论文赚钱做网站
  • 北京建设商业网站海南行指三亚网站开发
  • 能进外国网站看视频的浏览器公众号网页如何制作
  • 网站建设大德通wordpress无中断音乐插件
  • 网站建设平台推广对网站提出的优化建议
  • 公司网站怎么做关键词网站建设的关键
  • 常州企业网站免费页面网站制作
  • 万网app下载seo插件wordpress
  • 网站推广策划评估工具7中国建筑网最新招聘
  • 山东临沂网站设计公司做网站是用c 吗
  • 做网站 以图搜货做网站还是做app好
  • 湛江有那些网站制作公司头像定制在线生成器
  • 建筑公司网站首页图片关键词推广seo
  • 上高县城乡规划建设局网站查钓鱼网站
  • 天河做网站系统价格低不是干粉灭火器的优点
  • 企业营销型网站设计在线p图修改文字
  • 忻州推广型网站建设知名网站建设制作