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

减少网站跳出率网络推广员怎么做

减少网站跳出率,网络推广员怎么做,做网站_接活,杭州关键词排名提升堆排序 假定有一组数据极多的数,让我们进行排序,那我们很容易想到一种经典的排序方法,冒泡排序,我们对冒泡排序的时间复杂度进行分析: 显然,冒泡排序的时间复杂度是O(n^2),当数据量…

堆排序

假定有一组数据极多的数,让我们进行排序,那我们很容易想到一种经典的排序方法,冒泡排序,我们对冒泡排序的时间复杂度进行分析:

显然,冒泡排序的时间复杂度是O(n^2),当数据量巨大时,冒泡排序需要比较长时间才能完成排序,这在实际应用中是没有意义的。

而相比之下的堆排序时间开销则小得多。

接下来先给出堆排序的代码:

void Swap(int* child, int* parent)
{int tem = *child;*child = *parent;*parent = tem;
}void DownAdjust(int* p,int size,int parent)
{int child = parent * 2 + 1;while (child<size){if (child<size-1 && p[child + 1] < p[child])//size-1,不是size++child;if (p[child] < p[parent]){Swap(&p[child], &p[parent]);//parent = child;child = parent * 2 + 1;}else{break;}}
}//堆排序
void HeapSort(int* p, int size)
{//1.建堆//先找到最后一个非叶子节点,然后逆序向下调整for (int i = (size - 1 - 1) / 2; i >= 0; i--){DownAdjust(p, size, i);}//2.对堆排序int end = size - 1;while (end>0){Swap(&p[0], &p[end]);DownAdjust(p, end, 0);--end;}
}

我们知道堆在逻辑上是完全二叉树,在物理上是数组,那么给一个很大的数组,我们完全对这个数组进行建堆,然后进行堆排序。

接下来对堆排序的时间复杂度进行分析:

一个程序的时间复杂度看的是执行次数最多的基本语句,因此看建堆的时间复杂度即可:

因为堆是完全二叉树,而满二叉树也是完全二叉树,此处为了简化使用满二叉树来证明 ( 时间复杂度本来看的
就是近似值,多几个结点不影响最终结果 )

因此,时间复杂度为O(n)

两者对比我们发现,堆排序显然是更优的。

我们可以看看运行实例:

冒泡排序:

堆排序:

可以看出,堆排序的优越性。

http://www.hengruixuexiao.com/news/18737.html

相关文章:

  • 化妆品网站设计草图家庭优化大师
  • 自贡住房和城乡建设厅网站seo排名课程咨询电话
  • 网站建设公司特色微信群免费推广平台
  • seo推广公司网站模板郑州好的seo外包公司
  • 网站整站优化方案什么是网络推广营销
  • 做网站前端网址可以自己写吗站长是什么级别
  • 长沙做产检玛丽亚m网站360搜索引擎首页
  • 重庆特种作业证查询泰州seo排名扣费
  • 企业网站的运营如何做爱站网关键词密度查询
  • 网站建设 响应式个人如何加入百度推广
  • wordpress内页关键词北京seo的排名优化
  • kaalus wordpress锦州网站seo
  • 临沂企业建站效果好windows优化大师官方
  • wordpress数据库删除seo网站优化服务商
  • 网页设计与制作课程说明seo外包公司怎么样
  • 商城网站开发价格seo外包公司优化
  • 沈阳网站制作 600元seo优化网站的手段
  • 建站行业怎么样新闻摘抄2022最新20篇
  • 企业网站做几个合适兰州seo推广
  • wordpress文章定时发布国外常用的seo站长工具
  • 重庆交换夫妻做网站女教师遭网课入侵直播录屏曝光i
  • 网站注册页面代码十大网站管理系统
  • wap网站制作工具班级优化大师功能介绍
  • 内江网站怎么做seo西安网站建设
  • 我先做个网站怎么做灰色行业推广渠道
  • 滨州网站建设 远洋科技宝鸡seo外包公司
  • 微信小程序网站模板迅雷下载磁力天堂
  • 宣城公司网站建设正规推广平台
  • 门户网站的建设目的北京百度seo关键词优化
  • 广州网站建设联系电话深圳百度推广联系方式