摘要:
在一些应用中,通常需要先收集一部分数据,从中挑选出具有最小或最大关键码的记录开始处理,接着,可能会收集更多的数据,并处理当前数据集中具有最大或最小关键码的问题。这样的数据结构叫做堆,这里给出最小堆的实现。堆是这样一种数据结构,其根结点都小于左右子女的完全二叉树。1、插入算法:插入到最后一个结点,然后从下往上调整成最小堆。2、删除算法:删除根结点,从上往下调整成最小堆。3、从下往上调整算法。4、从上往下调整算法。两类错误:1、while(parent>0) //while出错:因为while陷入死循环 SiftDown(parent); //递归到0 递归程序中还写了循环,一般会陷入死循环 阅读全文