邻接矩阵和邻接表删除有向图或无向图的一条边的算法.急用.尽量简单些就好.
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/10/03 14:29:04
邻接矩阵和邻接表删除有向图或无向图的一条边的算法.急用.尽量简单些就好.
删边i-j
邻接矩阵:
有向图:map[i][j] = 0;
无向图:map[i][j] = map[j][i] = 0;
邻接表:
有向图:
p = v[i] -> firstedge;
pre = p;
while (p && p -> data != j)
{pre = p;p = p -> next;}
if (p && pre == p) v[i] -> firstedge = p -> next;
else if (p) pre -> next = p -> next;
无向图:
p = v[i] -> firstedge;
pre = p;
while (p && p -> data != j)
{pre = p;p = p -> next;}
if (p && pre == p) v[i] -> firstedge = p -> next;
else if (p) pre -> next = p -> next;
p = v[j] -> firstedge;
pre = p;
while (p && p -> data != i)
{pre = p;p = p -> next;}
if (p && pre == p) v[j] -> firstedge = p -> next;
else if (p) pre -> next = p -> next;
邻接矩阵:
有向图:map[i][j] = 0;
无向图:map[i][j] = map[j][i] = 0;
邻接表:
有向图:
p = v[i] -> firstedge;
pre = p;
while (p && p -> data != j)
{pre = p;p = p -> next;}
if (p && pre == p) v[i] -> firstedge = p -> next;
else if (p) pre -> next = p -> next;
无向图:
p = v[i] -> firstedge;
pre = p;
while (p && p -> data != j)
{pre = p;p = p -> next;}
if (p && pre == p) v[i] -> firstedge = p -> next;
else if (p) pre -> next = p -> next;
p = v[j] -> firstedge;
pre = p;
while (p && p -> data != i)
{pre = p;p = p -> next;}
if (p && pre == p) v[j] -> firstedge = p -> next;
else if (p) pre -> next = p -> next;
具体实现要求:1.通过键盘输入图的顶点和边信息,分别构造一个无向图的邻接矩阵和一个有向图的邻接表.2.分别对建立好的两个
在拓扑排序中,对有向图的存储,为什么要把邻接矩阵转化为邻接表
设汁一个算法,建立无向图(n个顶点,e条边)的邻接表
求数据结构算法,已知有m个顶点的无向图,采用邻接矩阵结构储存,写出下列算法
数据结构题.假定无向图G有6个结点和9条边,.(1) 画出G的邻接距阵和邻接表(2) 根据邻接表从顶点3
设计一个算法,求无向图G(采用邻接表存储)的连通分量的个数
在线急求熟悉图的两种常用的存储结构,邻接矩阵和邻接表.
设无向图G的邻接矩阵为,则G的边数为( ).
建立无向图,输入一个邻接矩阵,求输出边的条数,
无向带权图的邻接表怎么画
求一个源代码要求显示图的邻接矩阵图的邻接表,深度广度优先遍历最小生成树PRIM算法KRUSCAL算法图的连通分
1.给出一个无向图的邻接矩阵,输出各个顶点的度,要程序!