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

系统管理员 2023-02-17 14:30 191阅读 0赞

目录

一、基本操作

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)

无向图

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzEwMTQ4_size_16_color_FFFFFF_t_70

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

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

有向图

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzEwMTQ4_size_16_color_FFFFFF_t_70 1

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

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

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

无向图

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzEwMTQ4_size_16_color_FFFFFF_t_70

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

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

有向图

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzEwMTQ4_size_16_color_FFFFFF_t_70 1

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

邻接表查找时间复杂度

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

入边:O(|E|)

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

无向图

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzEwMTQ4_size_16_color_FFFFFF_t_70 2

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

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

注:有向图也类似

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

无向图

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzEwMTQ4_size_16_color_FFFFFF_t_70 3

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzEwMTQ4_size_16_color_FFFFFF_t_70 4

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

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

有向图

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzEwMTQ4_size_16_color_FFFFFF_t_70 5

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

邻接表查找时间复杂度

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

删入边:O(|E|)

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

无向图

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzEwMTQ4_size_16_color_FFFFFF_t_70 6

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

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

注:有向图也类似

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

无向图

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzEwMTQ4_size_16_color_FFFFFF_t_70 7

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

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

注:有向图也类似

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

无向图

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzEwMTQ4_size_16_color_FFFFFF_t_70 8

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

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

有向图

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzEwMTQ4_size_16_color_FFFFFF_t_70 9

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

邻接表查找时间复杂度

找出边邻接点:O(1)

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

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

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzEwMTQ4_size_16_color_FFFFFF_t_70 10

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

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

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

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

二、总结

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzEwMTQ4_size_16_color_FFFFFF_t_70 11

发表评论

表情:
评论列表 (有 0 条评论,191人围观)

还没有评论,来说两句吧...

相关阅读

    相关 数据结构基本介绍

    图的基本介绍 线性表局限于一个直接前驱和一个直接后继的关系,树也只能有一个直接前驱也就是父节点。当我们需要表示多对多的关系时,就需要用到图。 图的基本概念 图(G

    相关 数据结构——基本概念

    数据结构——图的基本概念 不同于线性结构和树形结构,图结构中的元素之间的关系是多对多的。 1、相关定义: > 图:图G由数据元素(顶点)集合V和边的集合E组

    相关 数据结构-“栈”基本操作

    栈作为一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(