对于图4-38所示的树,试给出:
1)双亲数组表示法示意图;
2)孩子链表表示法示意图:
3)孩子兄弟链表表示法示意图。
线性表可用顺序表或链表存储。试问:
(1) 两种存储表示各有哪此主要优缺点?
(2) 如果有n个表同时并存,并且在处理过程中各表的长度会动态发生变化,表的总数也可能自动改变,在此情况下,应选用哪种存储表示?为什么?
(3) 若表的总数基本稳定,且很少进行插人和删除,但要求以最快的速度存取表中的元素,这时,应采用哪种存储表示?为什么?
A.若二叉树使用顺序方式存储,则必须先将该二叉树补全为满二叉树。
B.若二叉树使用顺序方式存储,结点所在的下标对应着其在二叉树中的编号。
C.以顺序方式存储的二叉树可能会浪费大量空间。
D.若知道了二叉链表中根结点的指针,则整棵二叉树就唯一确定了。
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)作用:
A.1-4-3-2
B.1-3-2-4
C.1-2-3-4
D.2-1-3-4
向量β=(1,3,-3)T,试讨论当a,b为何值时:
(1)β不能由α1,α2,α3线性表示;
(2)β可α1,α2,α3唯一地线性表示,并求出表示式;
(3)β可由α1,α2,α3线性表示,但表示法不唯一,并求出表示式。
图7.9所示的2元树表达一个算式.
(1)按中序行遍法写出算式.
(2)用波兰符号法表示算式.
(3)用逆波兰符号法表示算式.