数据结构--图的基本操作

这篇具有很好参考价值的文章主要介绍了数据结构--图的基本操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

数据结构–图的基本操作

使用的存储模式:

数据结构--图的基本操作,408数据结构,数据结构,算法,图论,c语言,c++

图的基本操作:
• Adjacent(G,x,y):判断图G是否存在边<x, y>或(x, y)。
• Neighbors(G,x):列出图G中与结点x邻接的边。
• InsertVertex(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没有邻接点
或图中不存在x,则返回-1。
• NextNeighbor(G,x,y):假设图G中顶点y是顶点x的一个邻接点,返回除y之外顶点x的下一
个邻接点的顶点号,若y是x的最后一个邻接点,则返回-1。
• Get_edge_value(G,x,y):获取图G中边(x, y)或<x, y>对应的权值。
• Set_edge_value(G,x,y,v):设置图G中边(x, y)或<x, y>对应的权值为v。

图的基本操作

Adjacent(G,x,y)

判断图G是否存在边<x, y>或(x, y)。

有向图:

数据结构--图的基本操作,408数据结构,数据结构,算法,图论,c语言,c++数据结构--图的基本操作,408数据结构,数据结构,算法,图论,c语言,c++

无向图:

数据结构--图的基本操作,408数据结构,数据结构,算法,图论,c语言,c++数据结构--图的基本操作,408数据结构,数据结构,算法,图论,c语言,c++

Neighbors(G,x)

列出图G中与结点x邻接的边。

无向图:

数据结构--图的基本操作,408数据结构,数据结构,算法,图论,c语言,c++数据结构--图的基本操作,408数据结构,数据结构,算法,图论,c语言,c++

有向图:

数据结构--图的基本操作,408数据结构,数据结构,算法,图论,c语言,c++数据结构--图的基本操作,408数据结构,数据结构,算法,图论,c语言,c++

InsertVertex(G,x)

在图G中插入顶点x。

无向图:

数据结构--图的基本操作,408数据结构,数据结构,算法,图论,c语言,c++

DeleteVertex(G,x)

从图G中删除顶点x。

无向图:

数据结构--图的基本操作,408数据结构,数据结构,算法,图论,c语言,c++

有向图:

数据结构--图的基本操作,408数据结构,数据结构,算法,图论,c语言,c++

AddEdge(G,x,y)

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

无向图:

数据结构--图的基本操作,408数据结构,数据结构,算法,图论,c语言,c++

RemoveEdge(G,x,y)

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

无向图:

数据结构--图的基本操作,408数据结构,数据结构,算法,图论,c语言,c++

FirstNeighbor(G,x)

求图G中顶点x的第一个邻接点,若有则返回顶点号。若x没有邻接点或图中不存在x,则返回-1。

无向图:

数据结构--图的基本操作,408数据结构,数据结构,算法,图论,c语言,c++

有向图:

数据结构--图的基本操作,408数据结构,数据结构,算法,图论,c语言,c++

NextNeighbor(G,x,y)

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

无向图:

数据结构--图的基本操作,408数据结构,数据结构,算法,图论,c语言,c++

Get_edge_value(G,x,y)

获取图G中边(x, y)或<x, y>对应的权值。

Set_edge_value(G,x,y,v)

设置图G中边(x, y)或<x, y>对应的权值v。

Adjacent(G,x,y)

判断图G是否存在边<x, y>或(x, y)。

无向图:

数据结构--图的基本操作,408数据结构,数据结构,算法,图论,c语言,c++

知识回顾与重要考点

• Adjacent(G,x,y):判断图G是否存在边<x, y>或(x, y)。
• Neighbors(G,x):列出图G中与结点x邻接的边。
• InsertVertex(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中删除该边。
F i r s t N e i g h b o r ( G , x ) \color{red}FirstNeighbor(G,x) FirstNeighbor(G,x):求图G中顶点x的第一个邻接点,若有则返回顶点号。若x没有邻接点
或图中不存在x,则返回-1。
N e x t N e i g h b o r ( G , x , y ) \color{red}NextNeighbor(G,x,y) NextNeighbor(G,x,y):假设图G中顶点y是顶点x的一个邻接点,返回除y之外顶点x的下一
个邻接点的顶点号,若y是x的最后一个邻接点,则返回-1。
• Get_edge_value(G,x,y):获取图G中边(x, y)或<x, y>对应的权值。
• Set_edge_value(G,x,y,v):设置图G中边(x, y)或<x, y>对应的权值为v。
此外,还有 图的遍历算法 \color{red}图的遍历算法 图的遍历算法,包括深度优先遍历和广度优先遍历。文章来源地址https://www.toymoban.com/news/detail-588559.html

到了这里,关于数据结构--图的基本操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • (数据结构)链队列的基本操作

    2024年02月08日
    浏览(44)
  • 数据结构之栈的基本操作

    该顺序栈涉及到了存储整型数据的顺序栈还有存储字符型数据的顺序栈 实现的功能有:入栈、出栈、判断是否为空栈、求栈的长度、清空栈、销毁栈、得到栈顶元素 此外根据上述功能,编写了数值转换(十进制转化八进制)方法、括号匹配方法。 控制台界面展示: 进栈展示

    2024年01月23日
    浏览(49)
  • 【数据结构】串的基本操作及应用

    分别定义两个结构体——串的定长顺序存储、串的堆式顺序存储   问题: 1、编写函数,串用定长顺序存储表示来实现串的基本操作; 2、 编写串的匹配算法,实现查找功能。 算法思想阐述: BF 算法:首先S[1] 和T[1] 比较,若相等,则再比较S[2] 和T[2] ,一直到T[M] 为止;若

    2023年04月26日
    浏览(43)
  • 【数据结构】串的基本定义及操作

    🌈积薪高于山,焉用先后别 🌈   🌟 正式开始学习数据结构啦~此专栏作为学习过程中的记录 🌟 概念熟记: 串 是由 0个或多个字符 组成的有限的序列,记作 S = ′ a 1 a 2 . . . a n ′ S=\\\'a_1a_2...a_n\\\' S = ′ a 1 ​ a 2 ​ ... a n ′ ​ ,其中,当 n = 0 n=0 n = 0 时表示空串 串 中任意多个

    2024年02月06日
    浏览(55)
  • 数据结构——单链表基本操作实现 (c++)

    单链表链式存储结构的特点是:用一组任意的存储单元存储线性表的数据元素(这里存储单元可以是连续的,也可以是不连续的),为了表示每个数据元素a与其直接后继数据元素之间的逻辑关系,除了存储信息本身外还要存储一个指示其直接后继的信息(地址). 这两部分信

    2024年02月03日
    浏览(67)
  • 数据结构---双向链表的基本操作

    头插法 遍历链表 尾插法 头删法 尾删法 按位置插入数据 按位置删除数据 dooublelinklist.c doublelinklist.h doublemain.c

    2024年02月22日
    浏览(53)
  • 【数据结构】单链表基本操作:查找、插入、删除、创建

     链表由结点组成,结点由数据域和指针域组成。其中,数据域存放的就是数据元素,指针域存放下一个结点的地址。数据元素可以只有一个,也可以有多个不同类型的数据元素,甚至是数组。下图和代码来自《C Primer Plus》,该链表每个节结点同时含char类型和int类型。 ​​

    2024年02月02日
    浏览(63)
  • 【数据结构】——单链表的基本操作(带头结点)

            单链表解决了顺序表需要大量连续存储单元的缺点,但单链表附加指针域, 存储密度较顺序表低(考点!!) 。由于单链表的元素离散地分布在存储空间中,所以单链表是 非随机存取 的存储结构,即不能直接找到表中某个特定的结点。当查找某个特定结点时,需要

    2024年02月05日
    浏览(51)
  • 数据结构——单链表上基本操作的实现

    1.按位序插入(带头结点) : ==ListInsert(L, i, e): ==在表L 中的第 i 个位置上插入指定元素 e = 找到第 i-1 个结点 ( 前驱结点 ) ,将新结点 插入其后;其中头结点可以看作第 0 个结点,故 i=1 时也适用。 typedef struct LNode{ ElemType data; struct LNode *next; }LNode, *LinkList; // 在第 i 个位置插入

    2024年01月21日
    浏览(57)
  • 【数据结构】队列基本操作的实现(C语言)

    🚀 作者简介:一名在后端领域学习,并渴望能够学有所成的追梦人。 🐌 个人主页:蜗牛牛啊 🔥 系列专栏:🛹数据结构、🛴C++ 📕 学习格言:博观而约取,厚积而薄发 🌹 欢迎进来的小伙伴,如果小伙伴们在学习的过程中,发现有需要纠正的地方,烦请指正,希望能够与

    2024年02月16日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包