當前位置:文檔下載 > 所有分類 > 外語學習 > 韓語學習 > 2012年江西省數據統計基礎
侵權投訴

2012年江西省數據統計基礎

2012年江西省數據統計基礎

1、請設計一個算法,要求該算法把二叉樹的葉子結點按從左到右的順序連成一個單鏈表,表頭指針為head。 二叉樹按二叉鏈表方式存儲,鏈接時用葉子結點的右指針域來存放單鏈表指針。分析你的算法的時、空復雜度。

2、我們可用“破圈法”求解帶權連通無向圖的一棵最小代價生成樹。所謂“破圈法”就是“任取一圈,去掉圈上權最大的邊”,反復執行這一步驟,直到沒有圈為止。請給出用“破圈法”求解給定的帶權連通無向圖的一棵最小代價生成樹的詳細算法,并用程序實現你所給出的算法。注:圈就是回路。

3、二部圖(bipartite graph) G=(V,E)是一個能將其結點集V分為兩不相交子集V 1和V2=V-V1的無向圖,使得:V1中的任何兩個結點在圖G中均不相鄰,V2中的任何結點在圖G中也均不相鄰。

(1).請各舉一個結點個數為5的二部圖和非二部圖的例子。

(2).請用C或PASCAL編寫一個函數BIPARTITE判斷一個連通無向圖G是否是二部圖,并分析程序的時間復雜度。設G用二維數組A來表示,大小為n*n(n為結點個數)。請在程序中加必要的注釋。若有必要可直接利用堆棧或隊列操作。【

4、設t是給定的一棵二叉樹,下面的遞歸程序count(t)用于求得:二叉樹t中具有非空的左,右兩個兒子的結點個數N2;只有非空左兒子的個數NL;只有非空右兒子的結點個數NR和葉子結點個數N0。N2、NL、NR、N0都是全局量,且在調用count(t)之前都置為0.

typedef struct node

{int data; struct node *lchild,*rchild;}node;

int N2,NL,NR,N0;

void count(node *t)

{if (t->lchild!=NULL) if (1)___ N2++; else NL++;

else if (2)___ NR++; else (3)__ ;

if(t->lchild!=NULL)(4)____; if (t->rchild!=NULL) (5)____;

}

26.樹的先序非遞歸算法。

void example(b)

btree *b;

{ btree *stack[20], *p;

int top;

if (b!=null)

{ top=1; stack[top]=b;

while (top>0)

{ p=stack[top]; top--;

printf(“%d”,p->data);

if (p->rchild!=null)

{(1)___; (2)___;

}

if (p->lchild!=null)

(3)___; (4)__;

}}}}

第1頁

免費下載Word文檔免費下載:2012年江西省數據統計基礎

(下載1-1頁,共1頁)

我要評論

返回頂部
3d试机号每日的抉报