| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> c语言数据结构--图 -> 正文阅读 |
|
[数据结构与算法]c语言数据结构--图 |
原文链接(点击原文链接获取更多学习干货): ?http://blog.bools.cn/archives/897 一、什么是图? 图是地图的图吗?我拿着地图想去哪就去哪吗?是滴,图是多对多的情况,对于去一个地方有不同的路径到达,两个地方往返都有不同的路径。图是由顶点和边或弧两部分组成的,可以分两个结构来分别存储。另外图上的任何顶点都可以被看作是第一个顶点,任一顶点的邻接点之间也不存在次序关系。图分为无向图、有向图、网图。 二、常用的图--邻接矩阵、邻接表 1、邻接矩阵
邻接矩阵(无向图) 相邻两个顶点有边则存储1,否则存储0 求法: 问:要判定任意两个顶点是否有无边 答:判断相应数组存储的是否为1 问:要知道某个顶点的度 答:这个顶点Vi在邻接矩阵中第i行(第i列)的元素之和 问:要知道顶点Vi的所有邻接点 答:将邻接矩阵中第i行元素遍历,arc[i][j]为1就是邻接点 ?邻接矩阵(有向图) 有向图要考虑入度和出度,入度是第Vi列的各数之和,出度是第Vi行的各数之和。 邻接矩阵(网图) 每条边上带有权的图叫网图,“∞”表示一个计算机允许的、大于所有边上权值的值。 ?邻接矩阵建立的代码
2、邻接表 邻接表是数组与链表结合的存储结构,因为邻接矩阵对边数相对顶点较少的图,存在对存储空间的极大浪费,所以用邻接表更加优化。? 邻接表(无向图) ?邻接表(有向图) 把顶点当弧尾建立的邻接表,表示每个顶点的出度。 逆邻接表 为了便于确定顶点的入度或以顶点为弧头的弧,可以建立一个有向图的逆邻接表 邻接表(网图) 对于带权值的网图,可以在边表结点定义中再增加一个数据域来存储权值 ?创建邻接表的代码
欢迎关注技术公众号,获取更多硬件学习干货! 我们能为你提供什么? 技术辅导:C++、Java、嵌入式软件/硬件 项目辅导:软件/硬件项目、大厂实训项目 就业辅导:就业全流程辅导、技术创业支持 对接企业HR:培养输送优质性人才 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/28 17:27:14- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |