已知图G用邻接矩阵存储,用C语言设计算法:分别求解顶点vi的入度、出度和度。
时间: 2024-02-13 11:05:12 浏览: 38
好的,以下是C语言的算法实现:
假设邻接矩阵为A,顶点vi的下标为i,则:
1. vi的入度:
```c
int inDegree(int A[][MAX_SIZE], int n, int i) {
int degree = 0;
for (int j = 0; j < n; j++) {
if (A[j][i] == 1) {
degree++;
}
}
return degree;
}
```
2. vi的出度:
```c
int outDegree(int A[][MAX_SIZE], int n, int i) {
int degree = 0;
for (int j = 0; j < n; j++) {
if (A[i][j] == 1) {
degree++;
}
}
return degree;
}
```
3. vi的度:
```c
int degree(int A[][MAX_SIZE], int n, int i) {
int degree = 0;
for (int j = 0; j < n; j++) {
if (A[i][j] == 1 || A[j][i] == 1) {
degree++;
}
}
return degree;
}
```
其中,n为图G的顶点数,MAX_SIZE为邻接矩阵的最大尺寸。这些函数均返回一个整数,表示顶点vi的入度、出度和度。