什么是完全二叉树?
完全二叉树的定义:深度为k,有n个结点的二叉树当且仅当其每一个结点都与深度为k的满二叉树中编号从1至n的结点一一对应时,称为完全二叉树。
出于简便起见,完全二叉树通常采用数组而不是链表存储,其存储结构如下: var [1。 。n]of longint;{n:integer;n>=1}
对于tree,有如下特点:
(1)若i为奇数且i>1,那么tree的左兄弟为tree[i-1]; (2)若i为偶数且i1,tree的双亲为tree[i div 2];
(4)若2*in div 2,那么tree为叶子结点(对应于(3)); (6)若i<(n-1) div 2。...全部
完全二叉树的定义:深度为k,有n个结点的二叉树当且仅当其每一个结点都与深度为k的满二叉树中编号从1至n的结点一一对应时,称为完全二叉树。
出于简便起见,完全二叉树通常采用数组而不是链表存储,其存储结构如下: var [1。
。n]of longint;{n:integer;n>=1}
对于tree,有如下特点:
(1)若i为奇数且i>1,那么tree的左兄弟为tree[i-1]; (2)若i为偶数且i1,tree的双亲为tree[i div 2];
(4)若2*in div 2,那么tree为叶子结点(对应于(3)); (6)若i<(n-1) div 2。
那么tree必有两个孩子(对应(4))。 (7)满二叉树一定是完全二叉树,完全二叉树不一定是满二叉树
完全二叉树第i层至多有2^(i-1)个节点,共i层的完全二叉树最多有2^i-1个节点。
收起