【转】数据结构中的堆与栈
注意与内存中的堆和栈不同。
数据结构中的堆实质上是满足一定性质的完全二叉树:二叉树中任一非叶子结点关键字的值均小于(大于)它的孩子结点的关键字。在小根堆中,第一个元素(完全二叉树的根结点)的关键字最小;大根堆中,第一个元素(完全二叉树的根结点)的关键字最大,显然,堆中任一子树仍是一个堆。
满二叉树:(1)任一个非叶子结点均有两个孩子 (2)对于二叉树的任一层,若该层上有一个结点有孩子,则该层上每一个结点均有孩子。
完全二叉树:满二叉树的最下层从右往左连续地删除若干叶子结点所得到的二叉树。
数据结构中的栈(又名堆栈),指的是一个后进先出(Last in first out)的线性表,有顺序栈、链式栈。
原链接:http://blog.163.com/shidiankun@126/blog/static/1606147712011102924434344/