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

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

数据结构–图的基本操作

使用的存储模式:

数据结构--图的基本操作,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日
    浏览(34)
  • 数据结构之栈的基本操作

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

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

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

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

    🌈积薪高于山,焉用先后别 🌈   🌟 正式开始学习数据结构啦~此专栏作为学习过程中的记录 🌟 概念熟记: 串 是由 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日
    浏览(43)
  • 数据结构---双向链表的基本操作

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

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

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

    2024年02月03日
    浏览(42)
  • 【数据结构】链栈的基本操作(C语言)

    零零总总搜索了一些关于链栈的资料,了解了链栈的基本操作,一直觉得别人写的代码或多或少存在一些问题,所以打算自己写一篇关于链栈的文章,也算是对所学知识的梳理和巩固了。 首先说明本文使用C语言进行链栈的基本操作,链栈是无头结点的。这里补充说明一下,

    2024年02月05日
    浏览(41)
  • 数据结构实验4:二叉树的基本操作

    一、问题描述 运用二叉链表实现二叉树的基本操作,包括:创建二叉树的存储结构、复制已有的二叉树、计算已有的二叉树的深度、先根序序列、中根序序列、后根序序列等。 输入格式:AB#C##D## 二、实验目的 掌握二叉链表及二叉树的基本操作。 三、实验内容及要求 1、构造

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

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

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

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

    2024年02月02日
    浏览(41)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包