已知图的邻接表存储定义如下:
#define MAX_VEX_NUM 20 //图的最大顶点个数
typedef struct ArcNode {
int adjvex; // 该弧所指向的顶点的位置
struct ArcNode *nextarc; // 指向下一条弧的指针
} ArcNode;
typedef struct VNode {
VertexType data; // 顶点信息
ArcNode *firstarc; // 指向第一条依附该顶点的弧
} VNode, AdjList[MAX_VERTEX_NUM];
typedef struct {
AdjList vertices;
int vexnum, arcnum; // 顶点个数和弧数
int kind; // 图的种类标志
} ALGraph;
(1)试写出计算图中所有顶点的入度算法,并将每个顶点的入度存入数组indegree中。
void FindIndegree(ALGraph G,int indegree[ ])
(2)试写出计算图中所有顶点的出度算法,并将每个顶点的出度存入数组outdegree中。
void FindOutdegree(ALGraph G,int outdegree[ ])
#define MAX_VEX_NUM 20 //图的最大顶点个数
typedef struct ArcNode {
int adjvex; // 该弧所指向的顶点的位置
struct ArcNode *nextarc; // 指向下一条弧的指针
} ArcNode;
typedef struct VNode {
VertexType data; // 顶点信息
ArcNode *firstarc; // 指向第一条依附该顶点的弧
} VNode, AdjList[MAX_VERTEX_NUM];
typedef struct {
AdjList vertices;
int vexnum, arcnum; // 顶点个数和弧数
int kind; // 图的种类标志
} ALGraph;
(1)试写出计算图中所有顶点的入度算法,并将每个顶点的入度存入数组indegree中。
void FindIndegree(ALGraph G,int indegree[ ])
(2)试写出计算图中所有顶点的出度算法,并将每个顶点的出度存入数组outdegree中。
void FindOutdegree(ALGraph G,int outdegree[ ])
举一反三
- 有向图的顶点入度指以该顶点为弧头的弧的个数。( )
- 有向图G采用邻接表存储结构,下面描述了求顶点入度的算法FindInDegree,数组indegree存储各顶点入度,在下划线应填入的语句或表达式是__________。【图片】
- 有向完全图中,顶点的入度、出度与顶点个数之间的关系正确说法是( )。 A: 入度、出度与顶点个数之间没有关系 B: 入度=出度=顶点个数-1 C: 入度+出度=顶点个数 D: 入度+出度=2*顶点个数
- 已知如图所示的有向图,请给出该图的:(1)每个顶点的入/出度;(2)邻接矩阵;(3)邻接表;(4)逆邻接表。顶点123456入度出度
- 在有向图的邻接表中,顶点Vi在表结点中出现的次数是顶点Vi的()。 A: A度 B: B入度 C: C出度 D: D依附于顶点Vi的弧数