大话数据结构——图

图(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程序可以认为是一系列对象的集合&#xff0c;而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。 对象&#xff1a;对象是类的一个实例&#xff0c;有状态和行为。例如&#xff0c;一条狗是一个对象&#xff0c;它的状态有&…

【干货】java课程实战培训

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

Java的几个特点

Java语言是简单的&#xff1a; Java语言的语法与C语言和C语言很接近&#xff0c;使得大多数程序员很容易学习和使用。另一方面&#xff0c;Java丢弃了C中很少使用的、很难理解的、令人迷惑的那些特性&#xff0c;如操作符重载、多继承、自动的强制类型转换。特别地&#xff0c…

【干货】mysql建表语句注释

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

软件测试知识整理

在一个测试计划汇总能包含哪些内容&#xff1f; 答&#xff1a;在一个测试计划中可以包含需要测试的产品的特点和主要功能模块&#xff0c;列出需要测试的功能点&#xff0c;并标明侧重点&#xff1b;测试的策略和记录&#xff08;测试工具的确认&#xff0c;测试用例等文档模…

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

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

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

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

操作系统知识点整理

作业 用户在一次解题或一个事务处理过程中要求计算机系统所做工作的集合。它包括用户程序、所需要的数据及控制命令等。作业是由一系列有序的步骤组成的。 进程 一个程序在一个数据集合上的一次运行过程。所以一个程序在不同数据集合上运行&#xff0c;乃至一个程序在同样数…

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

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

计算机网络知识整理

OSI七层 物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。 物理层涉及信道上传输的比特流。 数据链路层的主要任务是加强物理层传输原始比特流的功能&#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;让开发人员可以专注自…

经典冒泡排序及其优化

经典排序算法 - 冒泡排序Bubble sort 原理是临近的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换&#xff0c;这样一趟过去后&#xff0c;最大或最小的数字被交换到了最后一位&#xff0c;然后再从头开始进行两两比较交换,直到倒数第二位时结束&#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;否…