摘要:
队列头指针为front,队列尾指针为rear(指向队尾元素),after_rear为队尾元素的后一位置(按顺时针方向),队列容量为maxsize 如果用 front == rear 来表示队列为空,也就是说front和rear指向同一个位置,那么: 队列满时:(rear+1) mod maxsize == front 队列中元素个数为:(rear-front+maxsize) mod ... 阅读全文
摘要:
堆可用于实现优先队列。 堆有两个性质:结构性和堆序性。 堆的结构性: 堆是一棵被完全填满的二叉树,有可能的例外是在底层,底层上的元素从左到右填入。这样的树称为完全二叉树。 一棵高为h的完全二叉树有2^h~2^(h+1)-1个节点。这意味着,完全二叉树的高是logN下取整。 完全二叉树很有规律,可用一个数组表示而不需要指针。对于数组中任一位置i上的元素,其左儿子在2i上,右儿子... 阅读全文