摘要: 堆是一颗被完全填满的二叉树,有可能的例外是在底层,底层的元素被从左到右被填满;一颗高为h的完全二叉树有2h到2h+1-1个节点;完全二叉树的高是¸logN¸;因为完全二叉树很有规律,所以它可以用一个数组表示而不需要指针。对于数组实现上,任一位置i上的元素,其左儿子在2i上,右儿子在2i+1中,它的父亲在¸i/2¸上。一个堆结构将由一个数组,一个代表最大值的整数以及当前的堆大小组成。 1 //优先队列的声明 2 #ifndef _BinHeap_H 3 4 struct HeapStruct; 5 typedef struct HeapStruct *Pr 阅读全文
posted @ 2013-05-30 18:00 SolarJupiter 阅读(216) 评论(0) 推荐(0) 编辑