正在加载图片...
typedef struct node int adjvex,∥邻接点域 ∥边的权值 struct node*next,∥/指针域 } EdgeNode*next;,∥边表结点结构描述 typedef struct( char vertex;/顶点域 Edgenode=* firstedge,∥边表头指针 Vertex Node,∥顶点表结点结构描述 typedef struct VertexNode adjlist[[ MaxNum]∥邻接表 intn,e;∥/图中当前的顶点数和边数 ALGraph,∥邻接表结构描述 下列算法是根据一个带权图的邻接矩阵存储结构G1建立该图的邻接表存储结构G2,请填入合适的内容 使其成为一个完整的算法。 void convert(MGraph*Gl, ALGraph*G2) Int 1, EdgeNode*p: G2->n=GI->n: G2->e=G1->e for(i=0; i<Gl->n; 1++) G2->adjlist[i vertex=Gl->vexs] G2->adjlist[i firstedge= for(i=0; i<G1->n; 1++) for (=0; j<G1->n;j++) if(G1->deges[JD]INFINITY { p=(Edge Node ")malloc(sizeof(EdgeNode)) p- p->adjvex=j p->next=G2->adjlist(i]. firstedge; 33阅读下列算法,并回答下列问题: (1)该算法采用何种策略进行排序? (2)算法中R[n+1的作用是什么? typedef struct i Key Type key info Type otherinfo i node Type typedef node Type sqlist MAXLENItypedef struct node{ int adjvex; //邻接点域 int weight; //边的权值 struct node *next; //链指针域 } EdgeNode *next; //边表结点结构描述 typedef struct{ char vertex; //顶点域 EdgeNode* firstedge; //边表头指针 } VertexNode; //顶点表结点结构描述 typedef struct{ VertexNode adjlist[MaxNum]; //邻接表 int n, e; //图中当前的顶点数和边数 } ALGraph; //邻接表结构描述 下列算法是根据一个带权图的邻接矩阵存储结构 G1 建立该图的邻接表存储结构 G2,请填入合适的内容, 使其成为一个完整的算法。 void convertM(MGraph * G1, ALGraph *G2) { int i, j; EdgeNode *p; G2->n=G1->n; G2->e=G1->e; for (i=0; i<G1->n; i++ ) { G2->adjlist[i].vertex=G1->vexs[i]; G2->adjlist[i].firstedge= (1) ; } for (i=0; i<G1->n; i++ ) for (j=0; j<G1->n; j++ ) if (G1->deges[i][j]<INFINITY { p=(Edge Node *)malloc (sizeof (EdgeNode)); p->weight= (2) ; p->adjvex=j; p->next=G2->adjlist[i].firstedge; (3) ; } } 33.阅读下列算法,并回答下列问题: (1)该算法采用何种策略进行排序? (2)算法中 R[n+1]的作用是什么? typedef struct { KeyType key; infoType otherinfo; }nodeType; typedef nodeType SqList [MAXLEN];
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有