考查任何一棵高度为h的二叉树T,设其中深度为k的叶节点有nk个,0≤k≤h。
a)试证明:
b)以上不等式取等号的充要条件是什么?
int Depth_T (BiTree T ){ // 返回二叉树的深度
if (!T ) depthval = 0;
else {
depthLeft = Depth(T->lchild );
depthRight= Depth(T->rchild );
depthval = 1 + (depthLeft > depthRight ? depthLeft : depthRight);
} // else
return depthval;
}// Depth_T
(1)指出功能。
(2)指出depthval的作用。
(1)功能:
(2)作用:
放进筒中的数据被后放进筒中的数据“压住”,只有放进筒中的数据都取出后,先放进去的数据才能被取出,称为“后进先出”。堆栈的长度可随意增加。堆栈结构可用链表实现。设计一个链表结构需包含两个成员:一个存放数据,一个为指向下一个节点的指针。当每次有一个新数据要放入堆栈时,称为“压入堆栈”,这时动态建立一个链表的节点,并连接到链表的结尾;当每次从堆栈中取出一个数据时.称为“弹出堆栈”,这意味着从链表的最后一个节点中取出该节点的数据成员,同时删除该节点,释放该节点所占的内存。