2023年山西省資料總結大綱

2021-12-22 16:55:04 字數 1210 閱讀 1548

1、設t是給定的一棵二叉樹,下面的遞迴程式count(t)用於求得:二叉樹t中具有非空的左,右兩個兒子的結點個數n2;只有非空左兒子的個數nl;只有非空右兒子的結點個數nr和葉子結點個數n0。n2、nl、nr、n0都是全域性量,且在呼叫count(t)之前都置為0.

typedef struct node

node;

int n2,nl,nr,n0;

void count(node *t)

26.樹的先序非遞迴演算法。

void example(b)

btree *b;

if (p->lchild!=null)

(3)___; (4)__;

}}}}

2、陣列a和b的元素分別有序,欲將兩陣列合併到c陣列,使c仍有序,應將a和b拷貝到c,只要注意a和b陣列指標的使用,以及正確處理一陣列讀完資料後將另一陣列餘下元素複製到c中即可。

void union(int a,b,c,m,n)

//整型陣列a和b各有m和n個元素,前者遞增有序,後者遞減有序,本演算法將a和b歸併為遞增有序的陣列c。

演算法結束

4、要求二叉樹按二叉鍊錶形式儲存。15分

(1)寫乙個建立二叉樹的演算法。(2)寫乙個判別給定的二叉樹是否是完全二叉樹的演算法。

bitree creat建立二叉樹的二叉鍊錶形式的儲存結構

else error(「輸入錯誤」);

return(bt);

}//結束 bitree

int judgecomplete(bitree bt) //判斷二叉樹是否是完全二叉樹,如是,返回1,否則,返回0

//while

return 1; } //judgecomplete

3、設t是給定的一棵二叉樹,下面的遞迴程式count(t)用於求得:二叉樹t中具有非空的左,右兩個兒子的結點個數n2;只有非空左兒子的個數nl;只有非空右兒子的結點個數nr和葉子結點個數n0。n2、nl、nr、n0都是全域性量,且在呼叫count(t)之前都置為0.

typedef struct node

node;

int n2,nl,nr,n0;

void count(node *t)

26.樹的先序非遞迴演算法。

void example(b)

btree *b;

if (p->lchild!=null)

(3)___; (4)__;

}}}}

2023年山西省資料總結大綱

1 設t是給定的一棵二叉樹,下面的遞迴程式count t 用於求得 二叉樹t中具有非空的左,右兩個兒子的結點個數n2 只有非空左兒子的個數nl 只有非空右兒子的結點個數nr和葉子結點個數n0。n2 nl nr n0都是全域性量,且在呼叫count t 之前都置為0.typedef struct no...

2023年山西省資料總結大綱

1 連通圖的生成樹包括圖中的全部n個頂點和足以使圖連通的n 1條邊,最小生成樹是邊上權值之和最小的生成樹。故可按權值從大到小對邊進行排序,然後從大到小將邊刪除。每刪除一條當前權值最大的邊後,就去測試圖是否仍連通,若不再連通,則將該邊恢復。若仍連通,繼續向下刪 直到剩n 1條邊為止。void spnt...

2023年山西省資料總結大綱

1 將頂點放在兩個集合v1和v2。對每個頂點,檢查其和鄰接點是否在同乙個集合中,如是,則為非二部圖。為此,用整數1和2表示兩個集合。再用一佇列結構存放圖中訪問的頂點。int bpgraph adjmatrix g 判斷以鄰接矩陣表示的圖g是否是二部圖。初始化,各頂點未確定屬於那個集合 q 1 1 r...