第六章小结

本章,我们学习了图。

首先是图(GRAPH)的定义

一种非线性数据结构,由有穷、非空的点集V(G)和边集E(G)组成。当G中的每条边有方向时,称G为有向图,有向边(用一对尖括号<a,b>)又称为弧,起始顶点被称为弧尾,终止顶点被称为弧头,每条边无方向时(用一对括号表示(a,b)和(b,a)一样),被称为无向图。

图的存储方式

1.邻接矩阵(二维数组存储)

 

 void creat(vexList GV, adjmatrix GA, int n,int e){int i,j,k,w;cout << "输入"<<n<<"个顶点的值:"<<endl;//初始化顶点数组for(int i = 0; i < n; i++)     { cin>>GV[i];}//初始化邻接矩阵  for(int i = 0; i < n; i++) for(int j = 0; j < n; j++){if(i==j) GA[i][j] = 0;else  GA[i][j] = maxValue;}//建立邻接数组
cout << "输入"<<e<<"条边:"<<endl;for(int k = 0; k < e; k++){cin >> i >> j >>w;GA[i][j] =GA[j][i] = w;}}

2.邻接表存储

3.编辑数组

然后是本章的重点

邻接矩阵表示法的特点:

优点是容易实现图的操作。

缺点是空间效率为O(n2)。对稀疏图浪费空间。

 

图的遍历

DFS:从图中某个顶点V0 出发,访问此顶点,然后依次从V0的各个未被访问的邻接点出发深度优先搜索遍历图,直至图中所有和V0有路径相通的顶点都被访问到

BFS:在访问了起始点v之后,依次访问 v 的邻接点; 然后再依次访问这些顶点中未被访问过的邻接点; 直到所有顶点都被访问过为止。

在这周我们还学习了求最短路径的方法,我觉得很有意思。

分别是Dijkstra算法和Floyd算法。

 

对于上次的目标,首先敲代码的积极性有提高,但pta的作业还是卡着ddl完成的,然后就是上课有时候会有点走神,导致有些小细节要课后去问同学才行,就还是希望自己能够把学习当做乐趣而不是工作。

ps:图片来自CSDN

 

转载于:https://www.cnblogs.com/Lnnnn/p/10890873.html

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

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

相关文章

753 Cracking the Safe

方法一 Hierholzer’s Algorithm 相关概念&#xff1a; 1 欧拉路径&#xff1a;在无向图中&#xff0c;每个边只经过一次&#xff0c;形成的路径。在有向图中&#xff0c;是指每条有向边只使用一次&#xff0c;形成的路径。 2 欧拉回路&#xff1a;欧拉路径是一个环。 3 在…

【小技巧】【堆】【优先队列】优先队列初始化

大小堆的建立&#xff08;其他类比&#xff09; 1.1 Map的小堆 //a - b 小堆&#xff08;前减后&#xff09; PriorityQueue<Integer> queue new PriorityQueue<>((a,b)->map.get(a)-map.get(b));1.2 Map的大堆 //b - a 大堆&#xff08;后减前&#xff0…

java面试题9 牛客:不同的服务器之间,哪种通信方式是不可行的

在一个基于分布式的游戏服务器系统中&#xff0c;不同的服务器之间&#xff0c;哪种通信方式是不可行的&#xff08;&#xff09;&#xff1f; A管道 B消息队列 C高速缓存数据库 D套接字 首先看到这道题我是懵逼的&#xff0c;我们分别介绍一下各个的概念 管道为运行在同…

MySQL查询语句的45道练习

一、设有一数据库&#xff0c;包括四个表&#xff1a;学生表&#xff08;Student&#xff09;、课程表&#xff08;Course&#xff09;、成绩表&#xff08;Score&#xff09;以及教师信息表&#xff08;Teacher&#xff09;。四个表的结构分别如表1-1的表&#xff08;一&#…

[Leetcode][第77题][JAVA][组合][回溯]

【问题描述】[中等] 【解答思路】 1. 回溯 class Solution {List<List<Integer>> lists new ArrayList<>();public List<List<Integer>> combine(int n, int k) {List<Integer> list new ArrayList<>();backTrace(list, n, k, 0)…

Depth-first Search深度优先搜索专题6

472 Concatenated Words 思路&#xff1a;将词典使用Trie树表示。对于输入的词word&#xff0c;在Trie树上找&#xff0c;当遇到一个isWordtrue的节点&#xff0c;查看剩下部分的词是否在词典中。 例如输入 [“cat”,”cats”,”catsdogcats”,”dog”,”dogcatsdog”,”hipp…

java面试题10 牛客:以下可以正确获取结果集的有

以下可以正确获取结果集的有 A Statement stacon.createStatement();<br>ResultSet rststa.executeQuery(“select * from book”); B Statement stacon.createStatement(“select * from book”); ResultSet rststa.executeQuery(); C PreparedStatement pstcon.prep…

目标检测近5年发展历程概述(转)

目标检测近5年发展历程概述&#xff0c;从R-CNN到RFBNet&#xff08;2013--2018&#xff09;&#xff08;转&#xff09; 2018年09月24日 12:32:02 C小C 【时间】2018.09.24 【题目】目标检测近5年发展历程概述&#xff0c;从R-CNN到RFBNet&#xff08;2013--2018&#xff09; …

[Leetcode][第39题][JAVA][组合总和][回溯][dfs][剪枝]

【问题描述】[中等] 【解答思路】 1. 回溯 import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Deque; import java.util.List;public class Solution {public List<List<Integer>> combinationSum(int[] candidates, int target) {int …

第十二期:七种优秀的浏览器兼容性测试工具

本文向您介绍目前最为流行的、面向开发人员的七大浏览器兼容性测试工具。 作者&#xff1a;陈峻 在许多谈及网站或Web应用开发的场合&#xff0c;开发人员最为关心的莫过于跨浏览器的兼容性问题。如您所知&#xff0c;诸如&#xff1a;计划、设计、测试等大多数工作都可以在网…

Depth-first Search深度优先搜索专题7

834 Sum of Distances in Tree 思路&#xff1a;一颗无向的树有N个节点&#xff0c;分别标记为0,1,2,…N-1&#xff0c;有若干条边。结果返回每个节点到其他节点的路径和。 以上面这棵树为例。从节点0到其他点的路径查找过程是&#xff1a;节点0有两条边分别到达子节点1和子节…

查看虚拟机网卡命令

查看虚拟机网卡命令&#xff1a; dhclient转载于:https://www.cnblogs.com/xiaoshen666/p/10898404.html

[Leetcode][第216题][JAVA][数组之和3][回溯]

【问题描述】[中等] 【解答思路】 回溯 剪树枝 当和超过n 或 个数超过k 1. 正向求和 优化前 class Solution {public List<List<Integer>> ans new LinkedList();public List<List<Integer>> combinationSum3(int k, int n) {dfs(0,k,0,n,1,new L…

第十三期:你不想错过的那些JSON工具

网上有许多出色的免费工具用于JSON格式化、验证、编辑以及转换成其他格式&#xff0c;可供开发人员选择。 作者&#xff1a;布加迪 JSON(JavaScript对象标注)是一种流行的轻量级数据交换格式&#xff0c;在网络上已很常见。 众所周知&#xff0c;JSON让开发人员易于使用&#…

java jvm学习

在并发编程中&#xff0c;多个线程之间采取什么机制进行通信&#xff08;信息交换&#xff09;&#xff0c;什么机制进行数据的同步&#xff1f; 在Java语言中&#xff0c;采用的是共享内存模型来实现多线程之间的信息交换和数据同步的。 线程之间通过共享程序公共的状态&#…

Breadth-first Search(广度优先搜索)专题1

广度优先搜索的定义 广度优先搜索BFS类似于树的层次遍历算法。基本思想是&#xff1a;首先访问顶点v&#xff0c;然后由v出发&#xff0c;依次访问v的各个未被访问过的顶点w1,w2,w3…wn。然后再访问wi(wi是w1,w2,w3…wn中的一个)未被访问过的邻接点。以此类推&#xff0c;直到所…

[Leetcode][第40题][JAVA][数组总和2][回溯][剪枝]

【问题描述】[中等] 【解答思路】 1. 减法 import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Arrays; import java.util.Deque; import java.util.List;public class Solution {public List<List<Integer>> combinationSum2(int[] can…

java面试题11 牛客:如下语句通过算术运算和逻辑运算之后i和 j的结果是

如下语句通过算术运算和逻辑运算之后i和 j的结果是&#xff08; &#xff09; 1 2 3 4 5 6 int i0; int j0; if((i>0)||(j>0)) { //打印出i和j的值。 } A i0;j0 B i1;j1 C i0;j1 D i1;j0 懵逼树下懵逼果&#xff0c;懵逼树前你和我 逻辑运算符(Java中)有四类&…

Breadth-first Search(广度优先搜索)专题2

743. Network Delay Time 输入&#xff1a;int[][] times times[i] new int[]{v,u,w} 表示从节点v到节点u需要时间w。注意这里是有向图。    int N 节点总数。    int k 起始节点 输出&#xff1a;从节点k到其他各个节点的最短路径和。如果有一个节点不能达到则返回-1。 …

负载均衡—几种常见算法

什么是负载均衡&#xff1f; 当一台服务器的性能达到极限时&#xff0c;我们可以使用服务器集群来提高网站的整体性能。那么&#xff0c;在服务器集群中&#xff0c;需要有一台服务器充当调度者的角色&#xff0c;用户的所有请求都会首先由它接收&#xff0c;调度者再根据每台服…