算法 堆是怎样的一种结构

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/08 02:36:40
算法堆是怎样的一种结构算法堆是怎样的一种结构算法堆是怎样的一种结构堆有两个含义,一个是用于动态分配用的堆区,另外一个是一种很重要的数据结构以下说明都是关于后面的堆:存储结构是顺序,逻辑结构是完全二叉树

算法 堆是怎样的一种结构
算法 堆是怎样的一种结构

算法 堆是怎样的一种结构
堆有两个含义,一个是用于动态分配用的堆区,另外一个是一种很重要的数据结构
以下说明都是关于后面的堆:
存储结构是顺序,逻辑结构是完全二叉树,按照各数据元素关键码的次序不同分为大根堆(也就大顶堆)和小根堆(也叫小顶堆),建立好初始堆,就可以在得到单独的最大值(大根堆)或者最小值(小根堆)后,以最短时间(O(log2n))再次得到第二大(或者第二小)的关键码值,并且保持结构还是堆,一般用于优先级队列的实现,像C++stl的priority_queue,还有一种排序叫做堆排序的同样也是以其为基础的