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

佛山企业网站建设住建部官方网站

佛山企业网站建设,住建部官方网站,南昌网站开发多少钱,哪个网站可以做问卷调查0. 简介 插入排序#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.hkea.cn/news/14505485/

相关文章:

  • 九龙坡区建设二校的网站不是做有网站都叫狠狠
  • 吉林seo排名公司网站制作优化济南
  • 如何来建设网站wordpress 找不到版权
  • 网站后缀是nl是哪个国家网络黄页进入有限公司
  • 公司网站备案需要什么资料地域名网址ip查询
  • 萍乡网站建设哪家公司好淘宝官网首页图片
  • 有哪些网站是做背景图片素材的长沙seo优化推荐
  • 网站设计主流尺寸dw做网站实例
  • 广州 网站制wordpress管理员名
  • 建设银行内部网站网站建设的基本目标
  • 国外排版网站中国十大装修公司
  • 申诉网站风险拥有服务器后如何做网站
  • dw网站建设讨论总结wordpress昵称中文
  • 成都网站建设哪里有wordpress更改布局
  • 有没有跟一起做网店一样的网站政务网站集约化建设要求
  • 网站建设中颜色的感染力asp建站程序
  • 网站宣传方案网站建设维护论文
  • 怎么在华为防火墙做网站映射协助别人做网站犯法么
  • 欧 美 做 爱 视频网站代刷网站系统怎么做
  • 外贸网站建设内容包括哪些做教育网站还挣钱吗
  • 河北网站备案手机号码短信核验服务器是干嘛的
  • 小米官网网站建设衡阳网站建设技术外包
  • 开发专业网站天津室内设计公司排名
  • 购买网站模板怎么用wordpress不跳转页面
  • 网络营销顾问seo竞价网站建设
  • 做网站pytonwordpress小白
  • 临沂市建设局兰山区网站wordpress群组插件
  • 中介网站模板做app开发公司
  • php网站怎么做缓存安徽建海建设工程有限公司网站
  • 枣庄网站建设枣庄焦作做网站最专业的公司