【最大堆的操作】完全二叉树建立最大堆/插入/删除结点C语言实现
最大堆的插入
步骤:
1.将新插入元素放在size+1的位置
2.向上过滤结点使之满足最大堆的特点
最大堆的删除
基本概念:对于一个完全二叉树,结点序号为i的左孩子是2i,右孩子是2i+1。
步骤
1.堆是否为空(为空则无法删除)
2.若不为空,取出根结点的最大元素
3.将数组下标最大的一个元素提出来,放在根结点位置
4.从上到下过滤结点
heap->Data[heap->size]待比较元素 过滤结点的具体操作
4.1 parent*2<=heap->size//判别
原创
2020-07-06 20:04:06 ·
1088 阅读 ·
0 评论