排序算法之堆(heap)

本文深入探讨了堆排序算法,包括堆的性质、最大堆和最小堆的概念,以及如何调整堆和建立堆。堆排序的时间复杂度为O(nlog2n),在排序过程中使用了堆这种数据结构。此外,还介绍了堆排序在优先队列中的应用,如在C++ STL中的优先队列实现,并提供了关于如何创建大顶堆和小顶堆的指导。
摘要由CSDN通过智能技术生成

  排序时,实际中,待排序的数很少是单独的数值,它们通常是称为记录(record)的数据集的一部分。每一个记录包含一个关键字(key),就是排序中要重排的值。记录的剩余部分有卫星数据(satellite data)组成,通常与关键字是一同存取的。

算法 最坏情况运行时间 平均情况/期望运行时间
插入排序 Θ( n2 ) Θ( n2 )
归并排序 Θ( nlog2n ) Θ( nlog2n )
堆排序 О( nlog2n ) ——
快速排序 Θ( n
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值