有关(大小)堆的一些随笔
作者:互联网
大顶堆
首先可以使用数组存起每一个节点,利用索引表示根节点与左右子树之间的关系;
关系为:根节点=index(可以从零开始,后边的左右子树表示时 减去1 即可);左子树=index*2;右子树=index*2+1;
1.插入add插入元素到堆尾,然后上浮
2.删除 remove 将堆首与堆尾交换,之后删掉堆尾,然后堆首下沉/上浮
3.上浮 ;比较该节点与其父节点大小,若不符合大顶堆的根节点最大原则,则与根节点交换位置,并且指向该父节点,继续循环比较至堆顶
4.下沉:比较父节点与左右子节点,交换不符合顺序的根节点,之后指向子节点,直至最后
大顶堆 原则上与大顶堆相同;
标签:大顶,子树,堆首,index,有关,上浮,大小,随笔,节点 来源: https://www.cnblogs.com/-jiuqi/p/13404924.html