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

科技成果展示网站建设方案水贝网站建设

科技成果展示网站建设方案,水贝网站建设,太原网站建设公司招聘,怎样做金融网站算法-堆排序 前置知识 堆(即将更新) 思路 我们现在有一个序列,怎么对它排序? 这是一个非常经典的问题,这里我们使用一个借助数据结构的算法——堆排序解决。 这里有一个序列,要对它升序排序 4 7 3 6 5 …

算法-堆排序


前置知识
  • 堆(即将更新)

思路

我们现在有一个序列,怎么对它排序?
这是一个非常经典的问题,这里我们使用一个借助数据结构的算法——堆排序解决。

这里有一个序列,要对它升序排序
4 7 3 6 5 1 2 8 \begin{array}{cc} 4&7&3&6&5&1&2&8 \end{array} 47365128
构建一个堆:

将堆顶放入序列,删除堆顶

重复该操作






直至堆为空。
获得的序列为:
1 2 3 4 5 6 7 8 \begin{array}{cc} 1&2&3&4&5&6&7&8 \end{array} 12345678


算法参数
  • 平均时间复杂度: Θ ( n log ⁡ n ) \Theta(n\log n) Θ(nlogn)
  • 最好时间复杂度: O ( n log ⁡ n ) O(n\log n) O(nlogn)
  • 最坏时间复杂度: O ( n log ⁡ n ) O(n\log n) O(nlogn)
  • 空间复杂度: Θ ( n ) \Theta(n) Θ(n)
  • 稳定性:不稳定

实现代码
  • 手写堆版本
void heapify(int a[],int n,int i){//维护堆的性质int largest=i,l=2*i+1,r=2*i+2;if (l<n&&a[l]>a[largest])largest=l;if (r<n&&a[r]>a[largest])largest=r;if (largest!=i){swap(a[i],a[largest]);heapify(a,n,largest);}
}
void HeapSort(int a[],int n){//堆排序for (int i=n/2-1;i>=0;i--)heapify(a,n,i);for (int i=n-1;i>0;i--){swap(a[0],a[i]);heapify(a,i,0);}
}

练习
  • 洛谷【模板】排序
http://www.yayakq.cn/news/894499/

相关文章:

  • 如何优选网站建设公司wordpress后台没有小工具
  • 怎么选择企业建站公司局域网内做网站
  • 邯郸网站建设选哪家好cms网站模板
  • 汕头有哪些需要建网站的公司网页制作q元素
  • php怎么做网站程序像wordpress一样的网站吗
  • 网站开发人员的行业分析免费下载歌曲的网站
  • 深圳建设管理中心网站首页网站模板 单页
  • 义乌商城网站开发做电子商务网站 费用
  • 做物流网站的公司哪家好百度小程序审核
  • 重生做网站的小说支付宝 网站接口
  • 怎样建设凡科网站哪家做网站的公司好
  • 用h5做的网站移动ui设计是干什么的
  • 官方网站改版建议网站建设规划建议
  • 个人网站能做淘宝客吗电商设计用什么软件
  • 东莞设计网站服务的公司莱州网站制作
  • 网站标签名词建新网站开发流程图
  • 滴滴优惠券网站怎么做的三网站合一
  • 传奇官方网站做网站建设销售途径
  • 网站设计公司天津有的网站打开慢
  • 做网站的抬头怎么做wordpress内容管理
  • 养生门户网站源码沈阳商城网站开发
  • 岳阳网站开发公司免费推广广告链接
  • 网上找客户有哪些网站网络维护工作总结范文
  • 手机小程序怎么弄出来赣州优化
  • 品牌型网站建设理论东莞新增确诊名单
  • 怎样建淘宝客网站福州网站建设 网站设计 网站制作
  • js 捕获网站异常插件农产品线上推广方案
  • 网站的形式有哪些用二级域名做网站群
  • 柳州柳北建设局网站赣州建设网站公司
  • 咸阳专业学校网站建设阿里巴巴网站icp编号怎么查