九.下面各題中的函數(shù)F起什么作用:
A. template <class T>
int F(Cnode<T>& s)
{ Cnode<T> *p=s.NextNode();int l=0;
while(p!=&s){ l++; p=p->NextNode();}
return l; }
B. template <class T>
T F(TreeNode<T>*t,SeqList<T>& L)
{ InorderIterater<T> titer(t); int n=0;
for(titer.Reset();!titer.EndOfList();
titer.Next())
{ L.Insert(titer.Data()); n++;}
return L.GetDat(n/2); }
C. template <class T>
SeqList<T> F(Graph<T> &G)
{SeqList<T> L; VerTexIterater<T> viter(G);
SeqListIterater<T> liter(L);
for(viter.Reset();!viter.EndOfList();
viter.Next())
{ cout<<viter.Data()<<“: ”;
L= G.DepthFirstSearch(viter.Data());
Liter.SetList(L);
PrintList(L);
cout<<end;
}
}
十.畫出以下鄰接矩陣所對應(yīng)的圖G,假設(shè)頂點字符是A,B,C……
0 1 1 0 0 0 0 0 A C
0 0 0 1 0 0 0 0
0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 B D E F
0 0 1 0 0 0 0 0
0 0 1 0 1 0 0 0
0 0 0 1 0 0 0 0 G H
0 0 0 0 0 1 1 0
A.G的強連通塊是________.
(a){A,B,C,D}{E,F,G.H}
(b){A,B,C,D} {E} {F} {G,H}
(c){A,B,D} {c} {E} {F} {G} {H}
(d) {A,B,D} {C,E,F} {G} {H}
B.給出G的可及矩陣.
C.分別給出從A點出發(fā)的按深度優(yōu)先和廣度優(yōu)先搜索的遍列次序.
十一.深度為5的滿二叉樹有多少個結(jié)點?13個結(jié)點的滿二叉樹深度是多少?有幾個葉片?一棵二叉樹有7片葉子,有多少個2度結(jié)點?
十二。一個棧依次輸入x,y,z,給出全部可能的輸出序列,共有幾種不同的序列?一個棧依次輸入a1,a2,•••••,an,共有幾種不同的序列輸出序列?
十三. 用希爾排序法對序列485,27,504,838,192,796,248,583,467,154,539,629,697,805,736,94,638,426,154,489,512,677,761,724,73排序,取d1=15,d2=7, d3=3,d4=1 給出每一輪排序的結(jié)果。
十四.用基數(shù)排序的方法對上題中的數(shù)列排序,給出每一輪排序的結(jié)果。
十五. 求n個結(jié)點的k叉樹的最小深度,n個結(jié)點的AVL樹的最小深度,n個結(jié)點的B-樹的最小深度。 6個結(jié)點的不同的樹有多少種?
十六. 證明n個關(guān)鍵字的B-樹的失敗結(jié)點有n+1個。