写出从图的邻接表表示转换成邻接矩阵表示的算法 用类PASCAL语言(或C语言)写成过程形式。

大学 语言,矩阵,算法 已帮助 人

写出从图的邻接表表示转换成邻接矩阵表示的算法,用类PASCAL语言(或C语言)写成过程形式。

请帮忙给出正确答案和分析,谢谢!

热搜:哪种图的邻接矩阵是对称矩阵

答案解析

难度★★☆ 搜索
  • 正确答案:算法的基本设计思想:设图的顶点分别存储在v[n]数组中。首先初始化数据结构定义出邻接矩阵。 遍历邻接表在遍历顶点v[i]的边链表时修改邻接矩阵的第i行的元素值。若链表边结点的值为j则修改arcs[i]U]=1。遍历完邻接表时整个转换过程结束。此算法对于无向图、有向图同样适用。算法的代码: VOid Convert(ALGraph&G&&arcs) { //此算法将邻接表方式表示的图G转换为邻接矩阵arcs //设图有n个项点图为带权图 int i; for(i=0;ivertices[i]).firstarc; while(p!=NULL) { //遍历边链表 arcs[i][p一>data]=1; P=P一>next; } } }//Convert
    算法的基本设计思想:设图的顶点分别存储在v[n]数组中。首先初始化数据结构,定义出邻接矩阵。遍历邻接表,在遍历顶点v[i]的边链表时,修改邻接矩阵的第i行的元素值。若链表边结点的值为j,则修改arcs[i]U]=1。遍历完邻接表时,整个转换过程结束。此算法对于无向图、有向图同样适用。算法的代码:VOidConvert(ALGraph&G,&&arcs){//此算法将邻接表方式表示的图G转换为邻接矩阵arcs//设图有n个项点,图为带权图inti;for(i=0;ivertices[i]).firstarc;while(p!=NULL){//遍历边链表arcs[i][p一>data]=1;P=P一>next;}}}//Convert