1//基於鄰接表
2struct
vertexnode3;
7struct
edgenode8;
12struct vertexnode adjlist[100
];13
int visited[100
];14
void gs(int a, int n, int
e)15
22for (k = 0; k < e; k++)
2330}31
void dfs(int
v)32
42 p = p->next;43}
44}45void bfs(int
v)46
62 p=p->next;63}
64}65 }
1//基於鄰接矩陣
2int vertex[100];3
int edge[100][100];4
int visited[100];5
int n = 10, e = 10;6
void gz(int a, int n, inte)7
13for (i = 0; i < n; ++i)
1419}20
for (k=0;kk)
2126}27
void dfs(int
v)2837}
38}39void bfs(int
v)4052}
53}54 }
1//堆排序
2void sift(int a, int pos, int
size)313
if (a[child] >tmp)
1417
else
break;18
}19 a[pos] =tmp;20}
21void heap(int a, int
size)
2228
for (i=size-1;i>0;--i)
2933 }
1//選擇排序
2void straight(int a, int
size)314
}15if (pos!=min)
1619
}20 }
1//希爾排序
2void shell(int a, int
size)
314 a[j + gap] =tmp;15}
16}17 }
1//折半查詢
2int binary(int a, int size, intk)3
12if (k1316
else
1720}21
return0;
22 }
1//單鏈表刪除
2struct
node3;
7 node *first;
8int delete(inti)9
16if (p==null&&p->next==null)
1720
else
2128 }
1//單鏈表的插入
2struct
node3;
7 node *first;
8void insert(int i, intx)9
17if (p=null)
1821
else
2228 }
1//單鏈表的逆置
2struct
node3;
7 node *first;
8void
reverse()
919 }
1//二叉樹的遍歷
2struct
binode3;
7 binode *bt;
8void preorder(binode *bt)910
17}18void inorder(binode *bt)
1926}27
void postorder(binode *bt)
2836}37
void leverorder(binode *bt)
3845 q[++rear] =bt;
46while (front!=rear)
4754
if (q->right!=null)
5558
}59 }
1struct
binode2;
6struct binode *bt;7//
求結點數
8int size(binode *bt)914
else
1518}19
//求高度
20int height(binode *bt)
2126
int lh = height(bt->left);
27int rh = height(bt->right);
28return
1 + (lh > rh ?lh : rh);29}
30//
求葉子數
31int leafnum(binode *bt)
3237
if ((bt->left==null)&&(bt->right)==null)
3841
else
4245 }
1//統計只有乙個孩子的結點個數
2struct
binode3;
7struct binode *bt;
8void count(binode *bt, int *n)
917 count(bt->left, n);
18 count(bt->right, n);19}
20 }
1//判斷單鏈表是否遞增
2struct
node3;
7 node *first;
8bool
increase()918
else
1922}23
return
true
;24 }
資料結構期末複習(一)
一.判斷題 字串是資料物件特定的線性表 t 乙個無向圖的連通分量是其極大的連通子圖 t 解析位址 假設b是一棵樹,b 是對應的二叉樹。則b的後根遍歷相當於b 的中序遍歷 t 通常,二叉樹的第i層上有2i 1個結點 f 對於一棵m階的b 樹,樹中每個結點至多有m 個關鍵字。除根之外的所有非終端結點至少...
資料結構期末複習(三)
1.判斷題 在雜湊表中,所謂同義詞就是被不同雜湊函式對映到同一位址的兩個元素。f 在雜湊中,函式 插入 和 查詢 具有同樣的時間複雜度。t 解析 都是o 1 有n個數存放在一維陣列a 1 n 中,在進行順序查詢時,這n個數的排列有序或無序其平均查詢長度不同。f 解析 平均查詢長度是固定的。在索引順序...
期末複習 資料結構 排序(1)
1.排序 將一組 無序 的記錄序列調整為 有序 的記錄序列。2.內排序和外排序 概念 衡量效率的方法 排序方法 內部排序 插入排序 快速排序 選擇排序 歸併排序 基數排序等 外部排序 3.穩定排序和非穩定排序 穩定性概念 排序前兩個相等的數其在序列的前後位置順序和排序後它們兩個的前後位置順序相同。4...