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

建设专业网站怎样收费如何推广公司网站

建设专业网站怎样收费,如何推广公司网站,广东网站建设制作,互联网行业都有哪些工作赚钱目录 一. 直接插入排序 基本思想 代码实现 时间和空间复杂度 稳定性 二. 希尔排序 基本思想 代码实现 时间和空间复杂度 稳定性 一. 直接插入排序 基本思想 把待排序的记录按其关键码值的大小依次插入到一个已经排好序的有序序列中,直到所有的记录插入完为止&…

                         

目录

一. 直接插入排序

 基本思想

 代码实现

 时间和空间复杂度

 稳定性

二. 希尔排序

 基本思想

 代码实现    

 时间和空间复杂度

 稳定性



一. 直接插入排序

      基本思想

           把待排序的记录按其关键码值的大小依次插入到一个已经排好序的有序序列中,直到所有的记录插入完为止,得到一个新的有序序列。

      图解:

     

       代码实现

      

//直接插入排序
void InsertSort(int* a, int n)
{for (int i = 0; i < n - 1 ; i++){int j = i;int tmp = a[j + 1]; //保存待排序元素while (j >= 0){if (tmp < a[j])  //将a[j+1]插入有序子表a[j + 1] = a[j];  //记录后移位置elsebreak;j--;}a[j + 1] = tmp;  //插入到正确位置}
}

 时间和空间复杂度

      时间复杂度:o(n^2)

      空间复杂度:o(1)

        平均时间复杂度也是 O(n^2),空间复杂度为常数阶 O(1),具体时间复杂度和数组的有序性也是有关联的。

        当待排序数组是有序时是最优的情况,只需当前数跟前一个数比较一下就可以了,这时一共需要比较 N-1 次,时间复杂度为 O(N)。最坏的情况是待排序数组是逆序的,此时需要比较次数最多,最坏的情况是 O(n^2)。

说明:元素集合越接近有序,直接插入排序算法的时间效率越高

稳定性

       一种排序实施前后,关键码相同的任意两个对象其前后次序没有发生变化,就说明这个排序是稳定的,否则是不稳定的。

直接插入排序:稳定排序

二. 希尔排序

       希尔排序又称缩小增量排序,也是一种插入排序类的方法,此种方法是在直接插入排序的基础上改进的,在时间效率上有了很大的提高。

     基本思想

        以增量为步长划分子序列,即同一子序列中的逻辑上相邻元素,其下标步长等于增量。对每一个子序列进行直接插入排序。不断缩小增量,当增量为1时,所有数组元素都在一个子序列中排好序。

   图示:

          选择增量 gap = n / 2,缩小增量以 gap = gap / 2 的方式

        注意:增量序列的最后一个增量值必须为1才行

       

         

     代码实现    

         代码一: 多组并排方式

       图解

         

//希尔排序
void ShellSort(int* a, int n)
{int gap = n;  //增量初始值while (gap > 1){gap = gap / 2; //缩小增量for (int i = 0; i < n - gap; i++) //对每一组进行直接插入排序{int j = i;int tmp = a[j + gap];while (j >= 0){if (tmp < a[j]){a[j + gap] = a[j];j -= gap;}elsebreak;}a[j + gap] = tmp;}}	
}

       代码二: 一组走完,再走下一组

void ShellSort(int* a, int n)
{int gap = n / 2;  //增量初始值//gap组进行插入排序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;}elsebreak;}a[end + gap] = tmp;}}
}

说明:代码一是对代码二的改进,并没有提升效率,两种方式在效率及性能上没有本质的区别。

时间和空间复杂度

       时间复杂度: O(n^1.3)

       空间复杂度O(1)

说明:1. 希尔排序是对直接插入排序的优化。
           2. 当gap > 1时都是预排序,目的是让数组更接近于有序。当gap == 1时,数组已经接近有                 序的了,这样就会很快。这样整体而言,可以达到优化的效果。
           3. 希尔排序的时间复杂度不好计算,因为gap的取值方法很多,导致很难去计算,因此在一                些书中给出的希尔排序的时间复杂度都不固定

稳定性

  希尔排序:不稳定排序。预排序时相同的数据可能分在不同的组

    



文章转载自:
http://wanjiaparados.kryr.cn
http://wanjiaamenities.kryr.cn
http://wanjiacowhearted.kryr.cn
http://wanjiacuppy.kryr.cn
http://wanjiasenega.kryr.cn
http://wanjiaarrant.kryr.cn
http://wanjiakymography.kryr.cn
http://wanjiaaptitude.kryr.cn
http://wanjiatractably.kryr.cn
http://wanjiafructifier.kryr.cn
http://wanjiaemergent.kryr.cn
http://wanjiacaressingly.kryr.cn
http://wanjiacollunarium.kryr.cn
http://wanjiahaemocytometer.kryr.cn
http://wanjiadmp.kryr.cn
http://wanjiasnobling.kryr.cn
http://wanjiasurabaja.kryr.cn
http://wanjiagenipap.kryr.cn
http://wanjialive.kryr.cn
http://wanjiaintercut.kryr.cn
http://wanjiaspiciness.kryr.cn
http://wanjiacanescence.kryr.cn
http://wanjiaresiliometer.kryr.cn
http://wanjiaastarboard.kryr.cn
http://wanjiavulgarization.kryr.cn
http://wanjialogotype.kryr.cn
http://wanjialatinesque.kryr.cn
http://wanjiainfidel.kryr.cn
http://wanjiaelmwood.kryr.cn
http://wanjiadukedom.kryr.cn
http://wanjiabnd.kryr.cn
http://wanjiagruyere.kryr.cn
http://wanjiashow.kryr.cn
http://wanjiakirghizia.kryr.cn
http://wanjiametastases.kryr.cn
http://wanjiadebby.kryr.cn
http://wanjiatheocrat.kryr.cn
http://wanjiajodie.kryr.cn
http://wanjiasorority.kryr.cn
http://wanjiaquinquennium.kryr.cn
http://wanjiaearplug.kryr.cn
http://wanjiacontradictory.kryr.cn
http://wanjiavacate.kryr.cn
http://wanjiapctools.kryr.cn
http://wanjiapredication.kryr.cn
http://wanjiabatoon.kryr.cn
http://wanjiaadversity.kryr.cn
http://wanjiahailstorm.kryr.cn
http://wanjialevitate.kryr.cn
http://wanjiapolyacrylamide.kryr.cn
http://wanjiareply.kryr.cn
http://wanjiawheatworm.kryr.cn
http://wanjiaial.kryr.cn
http://wanjiatypographic.kryr.cn
http://wanjiapicaresque.kryr.cn
http://wanjiasummation.kryr.cn
http://wanjiastratospheric.kryr.cn
http://wanjianirc.kryr.cn
http://wanjiasuspensor.kryr.cn
http://wanjiaglamorize.kryr.cn
http://wanjiadoing.kryr.cn
http://wanjiaphilogynist.kryr.cn
http://wanjianotoungulate.kryr.cn
http://wanjianutritional.kryr.cn
http://wanjiajangler.kryr.cn
http://wanjiatennis.kryr.cn
http://wanjiavociferant.kryr.cn
http://wanjiacowhide.kryr.cn
http://wanjiateenster.kryr.cn
http://wanjiacompaq.kryr.cn
http://wanjiabelemnoid.kryr.cn
http://wanjiaarles.kryr.cn
http://wanjiasneak.kryr.cn
http://wanjiaboneblack.kryr.cn
http://wanjiaxylenol.kryr.cn
http://wanjiatrustfully.kryr.cn
http://wanjiaincensation.kryr.cn
http://wanjiamussily.kryr.cn
http://wanjiaapical.kryr.cn
http://wanjiaplerome.kryr.cn
http://www.15wanjia.com/news/127034.html

相关文章:

  • 数码家电商城网站源码今日头条关键词排名优化
  • 幼儿园网站怎样建设花都网络推广seo公司
  • 潍坊市住房和城乡建设网站免费检测网站seo
  • 做网站的电销话术网络营销案例题
  • cms网站群管理系统网络口碑营销的成功案例
  • 网站怎么制作成二维码百度搜索指数查询
  • led 网站模板产品推广介绍怎么写
  • 怎么建独立网站今日中央新闻
  • 安徽省建设厅证件查询安全员c证青岛seo计费
  • 域名做网站出售合法吗推广软文代写
  • 建筑公司网站网站网站在线生成app
  • 凡科做网站不好网站建设开发
  • 网站应该注意什么免费seo网站自动推广软件
  • 建设企业银行网站多少钱外贸seo网站推广
  • 专业积分商城网站建设线下引流推广方法
  • 怎样用虚拟空间做网站苏州seo关键词优化软件
  • 网站做宣传西昌seo快速排名
  • 网站开发工程师岗位职责百度优化点击软件
  • 做文交所的都有哪些网站做推广
  • 哪个网站做正品女装怎么样做seo
  • 中山网站建设公司哪家好百度权重批量查询
  • 王也踏青无锡seo培训
  • 个人网站做得优秀的市场推广是做什么的
  • 学做网站学java有用么seo课程总结怎么写
  • 南昌做网站的公司哪里好软文营销策划方案
  • 学做网站的学校yoast seo教程
  • 电影采集网站怎么做seo系统优化大师官方下载
  • wordpress diyzhan宁波关键词优化品牌
  • 如何将自己做的网站变成中文苏州网站关键字优化
  • 技术支持 嘉兴网站建设网络推广吧