本章将介绍数据结构常用的几个图的操作 |
每个操作的函数都附图说明。 |
项目 | Value |
---|---|
Adjacent(G,x,y) | 判断图G是否存在边<x, y>或(x,y) |
Neighbors(G,x) | 列出图G中与结点x邻接的边 |
导管 | $1 |
lnsertVertex(G,x) | 在图G中插入顶点x(扩充) |
DeleteVertex(G,x) | 从图G中删除顶点x |
AddEdge(G,x,y) | 若无向边(x y)或者有向边<x,y>不存在,则向图G中添加该边 |
RemoveEdge(G,x,y) | 若无向边(x,y)或者有向边<x, y>存在,则在图G中删除该边 |
FirstNeighbor(G,x) | 求图G中顶点X的第一个邻接点,若有则返回顶点号。若没有邻接点或图不存在x,则返回-1。 |
NextNeighbor(G,x) | 假设图G中顶点y是顶点x的一个邻接点,返回除y之外顶点x的下一个邻接点的顶点号,若y是x的最后一个邻接点,则返回-1。 |
Get_edge_value(G,x,y) | 获取图G中边(x, y)或<x, y>对应的权值v。 |
Set_edge_value(G,x,y) | 设置图G中边(x, y)或<x,y>对应的权值为v。 |
Adjacent(G,x,y)判断图G是否存在边 |
邻接矩阵:0不存在,1存在
邻接表:搜索单链表
有向图:
Neighbors(G,x)列出图G中与结点x邻接的边 |
有向图
lnsertVertex(G,x)在图G中插入顶点x(扩充) |
DeleteVertex(G,x)从图G中删除顶点x |
AddEdge(G,x,y)若无向边(x y)或者有向边 <x,y>不存在,则向图G中添加该边
RemoveEdge(G,x,y)若无向边(x,y)或者有向边<x, y>存在,则在图G中删除该边
FirstNeighbor(G,x)求图G中顶点X的第一个邻接点,若有则返回顶点号。若没有邻接点或图不存在x,则返回-1。
NextNeighbor(G,x)假设图G中顶点y是顶点x的一个邻接点,返回除y之外顶点x的下一个邻接点的顶点号,若y是x的最后一个邻接点,则返回-1。
Get_edge_value(G,x,y)获取图G中边(x, y)或<x, y>对应的权值v。
Set_edge_value(G,x,y)设置图G中边(x, y)或<x,y>对应的权值为v。
【关注微信公众号一起来交流】 |
·