假定无向图以邻接矩阵形式存储 邻接矩阵的定义如下: define MAX 20 typedef char ElemType ;
假定无向图以邻接矩阵形式存储,邻接矩阵的定义如下: define MAX 20 typedef char ElemType ; strUCt MGraph{ ElemType vexs[MAX]; //顶点数组 int arcs[MAX][MAX]; //邻接矩阵 int vexnum; //顶点数 }; 试用C语言编写算法函数并分析时间复杂度。 1)intDeleteNode(structMGraph&G,ElemTypee);从图G中删除顶点值为e的顶点,成功返回1,否则返回0。 2)intDeleteEdge(strUCtMGraph&G,ElemTypea,ElemTypeb);从图G中删除边(a,b),成功返回1,否则返回0。
请帮忙给出正确答案和分析,谢谢!
-
正确答案:1)算法的基本设计思想: ①查找值为e的顶点若未找到则返回0找到则进行后面的处理。 ②找到值为e的顶点之后删除顶点数组中的顶点。 ③根据顶点对应的下标删除邻接矩阵中对应的行和列。 ④顶点数的值自减1。算法的代码: int DeleteNode(struct MGraph&GElemType e) {//从图G中删除顶点值为e的顶点成功返回1否则返回0。可删除多个值为e的顶点 int iJ t k; for(i=0; i
1)算法的基本设计思想:①查找值为e的顶点,若未找到则返回0,找到则进行后面的处理。②找到值为e的顶点之后,删除顶点数组中的顶点。③根据顶点对应的下标,删除邻接矩阵中对应的行和列。④顶点数的值自减1。算法的代码:intDeleteNode(structMGraph&G,ElemTypee){//从图G中删除顶点值为e的顶点,成功返回1,否则返回0。可删除多个值为e的顶点inti,Jtk;for(i=0;i 反馈
