数据结构笔记——图的基本操作

目录

一、基本操作

1.Adjacent(G,x,y):判断图G是否存在边或(x,y),y>

2.Neighbors(G,x):列出图G中与结点x邻接的边

3.InsertVertex(G,x),在图G中插入顶点x

4.DeleteVertex(G,x),从图G中删除顶点x

5.AddEdge(G,x,y):若无向边(x,y)或有向边不存在,则向图G中添加该边,y>

6.RemoveEdge(G,x,y):若无向边(x,y)或有向边存在,则从图G中删除该边,y>

7.FirstNeighbor(G,x):求图G中顶点x的第一个邻接点,若有则返回顶点号,若x没有邻接点或图中不存在x,则返回-1

8.NextNeighbor(G,x,y):假设图G中顶点y是顶点x的一个邻接点,返回除y之外顶点x的下一个邻接点的顶点号,若y是x的最后一个邻接点,则返回-1

9.Get_edge_value(G,x,y):获取图G中边(x,y)或对应的权值,y>

10Set_edge_value(G,x,y,v):获取图G中边(x,y)或对应的权值v,y>

二、总结

一、基本操作

1.Adjacent(G,x,y):判断图G是否存在边<x,y>或(x,y)

无向图

邻接矩阵查找时间复杂度:O(1)

邻接表查找时间复杂度:O(1)~O(|V|)

有向图

邻接矩阵查找时间复杂度:O(1)

邻接表查找时间复杂度:O(1)~O(|V|)

2.Neighbors(G,x):列出图G中与结点x邻接的边

无向图

邻接矩阵查找时间复杂度:O(|V|)

邻接表查找时间复杂度:O(1)~O(|V|)

有向图

邻接矩阵查找时间复杂度:O(|V|)

邻接表查找时间复杂度

出边:O(1)~O(|V|)

入边:O(|E|)

3.InsertVertex(G,x),在图G中插入顶点x

无向图

邻接矩阵查找时间复杂度:O(1)

邻接表查找时间复杂度:O(1)

注:有向图也类似

4.DeleteVertex(G,x),从图G中删除顶点x

无向图

邻接矩阵查找时间复杂度:O(|V|)

邻接表查找时间复杂度:O(1)~O(|E|)

有向图

邻接矩阵查找时间复杂度:O(|V|)

邻接表查找时间复杂度

删出边:O(1)~O(|V|)

删入边:O(|E|)

5.AddEdge(G,x,y):若无向边(x,y)或有向边<x,y>不存在,则向图G中添加该边

无向图

邻接矩阵查找时间复杂度:O(1)

邻接表查找时间复杂度:O(1)

注:有向图也类似

6.RemoveEdge(G,x,y):若无向边(x,y)或有向边<x,y>存在,则从图G中删除该边

无向图

邻接矩阵查找时间复杂度:O(1)

邻接表查找时间复杂度:O(1)~O(|V|)

注:有向图也类似

7.FirstNeighbor(G,x):求图G中顶点x的第一个邻接点,若有则返回顶点号,若x没有邻接点或图中不存在x,则返回-1

无向图

邻接矩阵查找时间复杂度:O(1)~O(|V|)

邻接表查找时间复杂度:O(1)

有向图

邻接矩阵查找时间复杂度:O(1)~O(|V|)

邻接表查找时间复杂度

找出边邻接点:O(1)

找入边邻接点:O(1)~O(|E|)

8.NextNeighbor(G,x,y):假设图G中顶点y是顶点x的一个邻接点,返回除y之外顶点x的下一个邻接点的顶点号,若y是x的最后一个邻接点,则返回-1

邻接矩阵查找时间复杂度:O(1)~O(|V|)

邻接表查找时间复杂度:O(1)

9.Get_edge_value(G,x,y):获取图G中边(x,y)或<x,y>对应的权值

10Set_edge_value(G,x,y,v):获取图G中边(x,y)或<x,y>对应的权值v

二、总结

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章