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

易语言做购物网站wap网站下载

易语言做购物网站,wap网站下载,安徽建设工程招标投标信息网,wordpress手机端显示分类1 插入排序 1.1基本思想#xff1a; 直接插入排序是一种简单的插入排序法#xff0c;其基本思想是#xff1a;把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中#xff0c;直到所有的记录插入完为止#xff0c;得到一个新的有序序列 。 1.2直…1 插入排序 1.1基本思想 直接插入排序是一种简单的插入排序法其基本思想是把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中直到所有的记录插入完为止得到一个新的有序序列 。 1.2直接插入排序 当插入第i(i1)个元素时前面的array[0],array[1],…,array[i-1]已经排好序此时用array[i]的排序码与 array[i-1],array[i-2],…的排序码顺序进行比较找到插入位置即将array[i]插入原来位置上的元素顺序后移。 直接插入排序的特性总结 1. 元素集合越接近有序直接插入排序算法的时间效率越高 2. 时间复杂度O(N^2) 3. 空间复杂度O(1)它是一种稳定的排序算法 4. 稳定性稳定 写排序算法的一种好习惯就是先写一个单趟排序再使用循环来实现整体。假设实现一个升序首先创建一个变量end0然后tmp保存a[end1]的值写一个while循环结束条件是end0进入循环判断tmp和a[end]的大小如果tmp小则将a[end]的值覆盖到a[end1]然后end--跳出循环此时将tmp插入到a[end1]也就是a[0]这个位置。如果tmpa[end]直接退出循环。然后将tmp的值插入到a[end1]这个位置。然后最外层套一层循环每次单趟结束后end。 // 插入排序 void InsertSort(int* a, int n) {for (int i 0; i n - 1; i){int end i;int tmp a[end 1];while (end 0){if (tmp a[end]){a[end 1] a[end];}else{break;}end--;}a[end 1] tmp;} } 2.希尔排序( 缩小增量排序 ) 希尔排序法又称缩小增量法。希尔排序法的基本思想是 先选定一个整数把待排序文件中所有记录分成个 组所有距离为的记录分在同一组内并对每一组内的记录进行排序。然后取重复上述分组和排序的工 作。当到达 1 时所有记录在统一组内排好序 。 假设将下列数组分为gap3组先完成单趟将end0tmp保存a[endgap]这个位置的值进行比较tmp大则将a[end]覆盖到[endgap]这个位置然后end-gap,退出循环将tmp插入到a[endgap]这个位置也就是a[0]这个位置。然后写一个循环控制end的位置每次endgap。到这里就完成了黑色的这一组数据此时可以再套一层循环控制住红色和蓝色的这两组数据。 void ShellSort1(int* a, int n) {int gap n;while (gap 1){gap gap / 3 1;for (int j 0; j gap; j){for (int i j; i n - gap; i gap){int end i;int tmp a[end gap];while (end 0){if (tmp a[end]){a[end gap] a[end];end - gap;}else{break;}}a[end gap] tmp;}}} } 当然也可以在单趟外只套一层循环巧妙地控制i。 void ShellSort2(int* a, int n) {int gap n;while (gap 1){//gap gap / 2;gap gap / 3 1;for (int i 0; i n - gap; i){int end i;int tmp a[end gap];while (end 0){if (tmp a[end]){a[end gap] a[end];end - gap;}else{break;}}a[end gap] tmp;}} } 希尔排序的特性总结 1. 希尔排序是对直接插入排序的优化。 2. 当 gap 1 时都是预排序目的是让数组更接近于有序。当 gap 1 时数组已经接近有序的了这样就 会很快。这样整体而言可以达到优化的效果。我们实现后可以进行性能测试的对比。 3. 希尔排序的时间复杂度不好计算因为 gap 的取值方法很多导致很难去计算因此在好些树中给出的 希尔排序的时间复杂度都不固定。 4. 稳定性不稳定  。 今天的分享到这里就结束了感谢大家的阅读
http://www.sadfv.cn/news/140147/

相关文章:

  • 做网站niche南京建设工程网站
  • 在线建站软件海南钢网架公司
  • 淄博网站推广公司那些深圳市住房和建设局门户网站
  • 建立网站需要备案吗网站范例
  • 网站建设合作协议文本在国外用什么地图导航
  • 网站seo工作国际知名设计公司的新方案
  • 如何建设英文网站产品营销推广策略
  • 个人备案网站名称怎么写网站开发常用字体
  • 怎么用虚拟机做网站怎么创建网站
  • 建设网站团队校园门户网站解决方案
  • 景点网站建设方案有哪些平面设计网站
  • 买建筑公司网站零基础学网页设计
  • 阿里云域名续费网站php网站后台登陆不上
  • 门户网站开发需要无锡网站制作哪家便宜
  • 在线教育网站开发实例清空wordpress数据库表
  • 韶关做网站的wordpress给分类添加自定义文字
  • 电动车网站建设成都网站建设桔子
  • 做网站买主机还是服务器wordpress建站成品图
  • 眼镜商城网站建设方案济南抖音seo
  • 高端定制外贸网站网站名称和域名有关系
  • 网站代码字体变大云南网站定制
  • 做做网站2023下载东莞搜索seo网站关键词优化
  • 网站关键字字数长沙网站建站
  • 自有服务器可以做网站吗音乐网站建设报告
  • 移动网站建设解决方案山东临沂网站推广
  • 汕头市城市建设总公司网站淘宝网网页版登录入口在哪里
  • 用阿里云空降怎么建设网站织梦音乐网站模板
  • 中国网站设计师联盟如何建设一个好的网站
  • 网站模版制作怎么开网店呢
  • 云南公司建网站多少钱炒币做合约哪个网站最好