当前位置: 首页 > 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://wiki.neutronadmin.com/news/140147/

相关文章:

  • 郑州网站推广公司排名开发公司大厅售后
  • 网站的策划和建设常州市建设局网站
  • 制作网站多少钱一级a做爰片免费网站在线
  • 晋江网站建设哪家好金华做网站公司
  • 手机网站内容模块课件ppt模板免费下载 素材
  • 食品建设网站的目的wordpress做推送
  • 东莞免费建站模板wordpress站群插件
  • 北海 网站建设 公司泰安人才网招聘网官网
  • 网站建设行业的趋势深圳制作网站流程
  • 好的网站分享上海型录设计
  • 新手网站做微信网站支付需要什么信息表
  • 青海省建设厅职业注册官方网站合肥长丰路网站建设
  • 糖果网站建设目的无锡网站seo外包
  • 公司做网站需要准备什么材料成都网站建设哪里好点
  • 智能网站建设推荐北京市建设工程安全质量监督总站网站
  • 广州模板建站公司营销网站的优势是什么
  • 安徽餐饮加盟网站建设上海正规做网站公司有哪些
  • 网站开始开发阶段的主要流程网站免费高清素材软件
  • cms网站开发涉及的知识html5 手机网站开发叫才
  • wordpress首页锚点宁波seo搜索引擎优化公司
  • 黄埔网站推广互联网技术岗位校园招聘
  • 优必选网站建设网站所需要什么
  • 网站开发代理商温州网站建设风格
  • 网站开发前端课程东莞网站公司
  • 自己做个网站好还是做别人会员好专业做小程序公司有哪些
  • WordPress动漫源码seo短视频网页
  • 浏览有关小城镇建设的网站记录wordpress手机分享图片
  • 网站建设代码介绍百度搜索风云榜小说总榜
  • 网站引导页flash广告制作网站
  • 如何进行网站网站调试网站前端是做啥的