大话数据结构——图

图(Graph)是由定点的又穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其中,G表示一个图,V是图G中顶点的集合,E是图G中边的集合。

一、各种图的定义

图按是否有方向分可分为有向图和无向图。有向边用尖括号“<>”表示,无向边用小括号“()”表示。
简单图:无环无重复边。我们以下讨论的都是简单图。
无向完全图:任意两个顶点之间都存在边。
含有n个顶点的无向完全图有n*(n-1)/2条边。
有向完全图:任意两个顶点之间都存在方向互为相反的两条弧。
含有n个顶点的有向完全图有n*(n-1)条边。
:带权的图。
回路或环:第一个顶点到最后一个顶点相同的路径称为回路或环。
简单路径:序列中顶点不重复出现的路径。
简单回路或简单环:除了第一个顶点和最后一个顶点之外,其余顶点不重复出现的回路。
连通图:任意两个顶点之间互通。
连通分量:无向图中极大连通子图。(要是子图、子图要是连通的、连通子图含有极大顶点数、具有极大定点数的连通子图包含依附于这些顶点的所有边)

二、图的存储方式

(一)邻接矩阵
邻接矩阵是顶点和边的二维数组,若顶点间存在边,则标作1,否则,标作0。
横着的和是该顶点的度。
邻接矩阵
(二)邻接表
数组与链表相结合的存储方法。
邻接表
但在有向图中,一般只关注到出度问题,逆连接表关注到的是入度的问题。
(三)十字链表
把邻接表和逆邻接表结合。
(四)邻接多重表

三、图的遍历

图的遍历指的是从图中某一顶点出发访遍图中其余顶点,且使每一个顶点仅被访问一次。
(一)深度优先遍历
深度优先遍历(Depth_First_Search)DFS,顾名思义,就是从一个顶点出发,往最深里找。
广度优先遍历(Breath_First_Search)BFS,也就是从一个顶点出发,一层层找。
它们的时间复杂度是一样的,只是结点访问的顺序不一样。

四、最小生成树

最小生成树:构造连通网的最小代价生成树。
普里姆算法:从一个点出发,找连通的。
克鲁斯卡尔算法:先找最短的边。

五、最短路径

迪杰斯特拉算法:从一个顶点出发,逐渐找权最小的。
弗洛伊德算法
如果要求所有点到其他点的最短路径,选弗洛伊德算法。

六、关键路径

一个个去掉度为0的顶点。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/386036.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【工作感悟】达内java大数据课程

前言 其实前几篇文章已经写了好多有关于Spring源码的文章&#xff0c;事实上&#xff0c;很多同学虽然一直在跟着阅读、学习这些Spring的源码教程&#xff0c;但是一直都很迷茫&#xff0c;这些Spring的源码学习&#xff0c;似乎只是为了面试吹逼用&#xff0c;我大概问过一些…

大话数据结构——查找

查找&#xff08;Searching&#xff09;是根据给定的某个值&#xff0c;在查找表中确定一个其关键字等于给定值的数据元素&#xff08;或记录&#xff09;。 一、顺序表查找 顺序查找又叫线性查找&#xff0c;是最基本的查找技术&#xff0c;它的查找过程是&#xff1a;从表中…

【工作经验分享】java图片转文字

前言 又到一年金九银十之际。 Java作为目前用户最多&#xff0c;使用范围最广的软件开发技术之一。 Java的技术体系主要由支撑Java程序运行的虚拟机&#xff0c;提供各开发领域接口支持的Java,Java编程语言及许多第三方Jvav框架构成。 其中&#xff0c;以Java的虚拟器为今天的着…

【干货】java课程实战培训

开头 消息队列 RocketMQ 是阿里巴巴集团基于高可用分布式集群技术&#xff0c;自主研发的云正式商用的专业消息中间件&#xff0c;既可为分布式应用系统提供异步解耦和削峰填谷的能力&#xff0c;同时也具备互联网应用所需的海量消息堆积、高吞吐、可靠重试等特性&#xff0c;…

【干货】mysql建表语句注释

前言 难道程序员的职业生命线是青春饭&#xff1f;答案是的。 35岁考虑转行&#xff0c;然后35岁又成了一个新人&#xff0c;而外国可以做到60岁&#xff0c;啥也不说了&#xff0c;可能是觉得中年大叔油腻&#xff0c;不及小鲜肉便宜&#xff0c;唉&#xff0c;可叹市场更新…

【干货】mysql查询重复数据sql

前言 本系列的目的是明明白白、彻彻底底的搞定日期/时间处理的几乎所有case。上篇文章铺设所有涉及到的概念解释&#xff0c;例如GMT、UTC、夏令时、时间戳等等&#xff0c;若你还没看过&#xff0c;不仅强烈建议而是强制建议你前往用花5分钟看一下&#xff0c;因为日期时间处…

【微信小程序】java最简单观察者模式

开头 对于一个Java程序员而言&#xff0c;能否熟练掌握并发编程是判断他优秀与否的重要标准之一。因为并发编程是Java语言中最为晦涩的知识点&#xff0c;它涉及操作系统、内存、CPU、编程语言等多方面的基础能力&#xff0c;更为考验一个程序员的内功。 那到底应该怎么学习并…

【性能优化实战】java验证码识别训练

前言 今天刚好有空&#xff0c;跟大家聊聊如何学好算法进大厂。 前两天一个读者和我说&#xff0c;他坚持刷算法题2个月&#xff0c;薪资翻番去了他梦寐以求的大厂&#xff0c;期间面字节跳动还遇到了原题…其实据我所知目前国内的大厂和一些独角兽&#xff0c;已经越来越效仿…

吸水间最低动水位标高_体验长安逸动EV460:再也不用为电动车续驶里程焦虑了...

文| 车突突车图腾出品&#xff0c;未经许可&#xff0c;谢绝转载● ● ●人们都在期待碧水蓝天&#xff0c;而且越来越多的消费者也开始践行环保理念&#xff0c;在买车时关注起了纯电动汽车。不过遗憾的是&#xff0c;纯电动汽车目前还没能成为主流。一方面&#xff0c;是因为…

java开发工具包jdk包括哪些

害怕干不过SpringBoot&#xff1f;莫慌&#xff0c;我送你套神级pdf文档 随着 Spring Boot 使用越来越广泛&#xff0c;Spring Boot 已经成为 Java 程序员面试的知识点&#xff0c;很多同学对 Spring Boot 理解不是那么深刻&#xff0c;经常就会被几个连环追问就给干趴下了&am…

微信计步器怎么不计步_难以关闭的微信朋友圈广告

太难关掉了。”试图关闭朋友圈广告的小曾&#xff0c;在对照着腾讯视频上的一个长达6分钟的视频演示之后&#xff0c;通过14次操作才得以关闭。这14步操作具体如下&#xff1a;点击“我”—点击“设置”—点击“关于微信”—点击“微信隐私保护指引”—下拉两个屏幕的面积—点击…

java开发工具有哪些

前言 Netty 是一款基于 Java 的网络编程框架&#xff0c;能为应用程序管理复杂的网络编程、多线程处理以及并发。Netty 隐藏了样板和底层代码&#xff0c;让业务逻辑保持分离&#xff0c;更加易于复用。使用 Netty 可以得到一个易于使用的 API&#xff0c;让开发人员可以专注自…

expdp导出 schema_记录一则expdp任务异常处理案例

在XTTS迁移测试阶段&#xff0c;遇到执行几个expdp的导出任务&#xff0c;迟迟没有返回任何信息&#xff0c;对应日志无任何输出。环境&#xff1a;AIX 6.1 Oracle 10.2.0.4现象&#xff1a;在XTTS迁移测试阶段&#xff0c;遇到执行几个expdp的导出任务&#xff0c;迟迟没有返…

java开发工具软件排行榜

前言&#xff1a; 都说学历是敲门砖&#xff0c;是一点都没错&#xff0c;即使是在重技术轻学历的互联网企业&#xff0c;面试官对于学历越高的程序员初印象会更好&#xff0c;面试也会更顺利&#xff0c;而大部分专科学历的程序员&#xff0c;除非有过硬的技术&#xff0c;否…

java开发工程师工作内容怎么写

什么是分布式锁&#xff1f;在回答这个问题之前&#xff0c;我们先回答一下什么是锁。 普通的锁&#xff0c;即在单机多线程环境下&#xff0c;当多个线程需要访问同一个变量或代码片段时&#xff0c;被访问的变量或代码片段叫做临界区域&#xff0c;我们需要控制线程一个一个…

community 计算模块度_光模块深度:国内光模块企业快速崛起

一、核心观点二、发展追溯:技术是底蕴、创新是动力1 光通信发展:技术迭代加快&#xff0c;国产替代是前进的方向依据摩尔定律&#xff0c;光模块的小型化、低成本以及高速率是产品迭代的主要方向。2 竞争格局:市场集中度高&#xff0c;巨头地位稳固&#xff0c;国内厂商稳步崛起…

java开发工程师的自我评价

前言 京东到家订单中心系统业务中&#xff0c;无论是外部商家的订单生产&#xff0c;或是内部上下游系统的依赖&#xff0c;订单查询的调用量都非常大&#xff0c;造成了订单数据读多写少的情况。 我们把订单数据存储在MySQL中&#xff0c;但显然只通过DB来支撑大量的查询是不…

华为魔术手机拆机图解_华为P9进水不显示维修案例

看点&#xff1a;iPhone X原装屏与国产屏有哪些区别&#xff1f;看点&#xff1a;换7P、8P屏幕&#xff1a;C11和DTP和DKH的区别狮淘&#xff1a;华人手机维修师专属工具集合店&#xff0c;不锈钢拆机片5个只需9.9元&#xff01;包邮山猫潮品&#xff1a;手机渠道直供&#xff…

java开发工程师自我介绍文本

前言 每年金三银四&#xff0c;金九银十之际&#xff0c;想进阶梦想挑战大厂的朋友层出不穷。 梦想是要有的&#xff0c;万一就实现了呢&#xff1f;且撇开大牛们不说&#xff0c;每年面试之时问题也层出不穷&#xff0c;不得不说&#xff0c;每年被算法绝杀的朋友也是不在少数…

ad09只在一定范围内查找相似对象_23、面向对象编程

目录&#xff1a;对象的概念类与对象面向对象编程类的定义与实例化属性访问类属性与对象属性属性查找顺序与绑定方法小结视频链接一 对象的概念”面向对象“的核心是“对象”二字&#xff0c;而对象的精髓在于“整合“&#xff0c;什么意思&#xff1f;所有的程序都是由”数据”…