腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
Java开发者杂谈
专栏作者
举报
86
文章
97943
阅读量
43
订阅数
订阅专栏
申请加入专栏
全部文章
java
编程算法
其他
jdk
linux
python
spring
ruby
云数据库 Redis
tomcat
分布式
缓存
c++
eclipse
apache
存储
jvm
https
html
打包
api
http
serverless
面向对象编程
socket编程
数据结构
区块链
.net
servlet
android
数据库
oracle
struts
maven
ubuntu
网站
容器
游戏
网络安全
mybatis
jdbc
二叉树
tcp/ip
windows
系统架构
code
fixed
free
function
integer
it
max
mysql
point
send
sh
state
struct
transfer
variables
编码
磁盘
递归
二进制
泛型
苹果
事件
文件系统
注解
搜索文章
搜索
搜索
关闭
堆排序与快速排序
编程算法
二叉树
前言 前面差不多学习了插入排序、选择排序、冒泡排序、归并排序。这些排序除了归并排序在时间上消耗为:θ(nlgn)外,其余排序时间消耗都为:θ(n2). 接下来要讲的就是两种比较优雅的比较排序算法:堆排序和快速排序。 堆排序最坏情况下可以达到上界:ο(nlgn).快速排序平均情况下可以达到:θ(nlgn)。 堆排序 堆排序的关键在于完全二叉树。堆排序开始要构建一个完全二叉树,且该完全二叉树必须满足某一个结点大于左子节点的值和右子结点的值。我们假设根结点中的值为数组中下标为0的元素,根结点的左子结点下标
SecondWorld
2018-03-14
705
0
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
立即发文
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档