当前位置: 首页 > news >正文

松北区建设局网站yy直播能赚钱吗

松北区建设局网站,yy直播能赚钱吗,sem培训班,廊坊百度快速排名图#xff08;Graph#xff09;是一种非常灵活且强大的数据结构#xff0c;用于表示实体之间的复杂关系。在图结构中#xff0c;数据由一组节点#xff08;或称为顶点#xff09;和连接这些节点的边组成。图可以用于表示社交网络、交通网络、网络路由等场景。 1. 基本概…        图Graph是一种非常灵活且强大的数据结构用于表示实体之间的复杂关系。在图结构中数据由一组节点或称为顶点和连接这些节点的边组成。图可以用于表示社交网络、交通网络、网络路由等场景。 1. 基本概念 节点Vertex图中的一个点代表一个对象或实体。 边Edge连接两个节点的线代表节点之间的关系。 邻接Adjacency如果两个节点之间有边相连则称这两个节点是邻接的。 路径Path一系列相连的边从一个节点开始经过若干个中间节点到达另一个节点。 环Cycle起点和终点是同一个节点的路径。 连通图Connected Graph图中任意两个节点之间都存在路径。 强连通图Strongly Connected Graph有向图中任意两个节点之间都存在有向路径。 树Tree一种特殊的图没有环且任意两个节点之间只有一条路径。 2. 表示方法 2.1 邻接矩阵Adjacency Matrix 使用一个二维数组来表示图数组的行和列代表节点元素值表示节点之间是否有边。 适用于稠密图即边的数量接近节点数量平方的图。 2.2 邻接表Adjacency List 使用一个链表数组来表示图每个链表包含与该节点相连的所有节点。 适用于稀疏图即边的数量远小于节点数量平方的图。 3. 遍历算法 3.1 深度优先搜索Depth-First Search, DFS 类似于树的前序遍历使用栈递归或显式栈来实现。 从任意节点开始尽可能深地搜索图的分支。 public class GraphDFS {private int V; // 节点数private LinkedListInteger adj[]; // 邻接表// 构造函数SuppressWarnings(unchecked)public GraphDFS(int v) {V v;adj new LinkedList[v];for (int i 0; i v; i)adj[i] new LinkedList();}// 添加边public void addEdge(int v, int w) {adj[v].add(w); // 添加w到v的邻接表}// DFS算法public void DFS(int v) {boolean visited[] new boolean[V];// 调用递归的DFS函数DFSUtil(v, visited);}// 递归的DFS函数void DFSUtil(int v, boolean visited[]) {// 标记当前节点为已访问visited[v] true;System.out.print(v );// 递归访问所有未访问的邻接节点for (int i 0; i adj[v].size(); i) {int n adj[v].get(i);if (!visited[n])DFSUtil(n, visited);}}// 测试DFS算法public static void main(String[] args) {GraphDFS g new GraphDFS(4);g.addEdge(0, 1);g.addEdge(0, 2);g.addEdge(1, 2);g.addEdge(2, 0);g.addEdge(2, 3);g.addEdge(3, 3);System.out.println(DFS starting from vertex 2 : );g.DFS(2);} } 3.2 广度优先搜索Breadth-First Search, BFS 类似于树的层序遍历使用队列来实现。 从任意节点开始逐层遍历图中的节点。 import java.util.*;public class GraphBFS {private int V; // 节点数private LinkedListInteger adj[]; // 邻接表// 构造函数SuppressWarnings(unchecked)public GraphBFS(int v) {V v;adj new LinkedList[v];for (int i 0; i v; i)adj[i] new LinkedList();}// 添加边public void addEdge(int v, int w) {adj[v].add(w); // 添加w到v的邻接表}// BFS算法public void BFS(int s) {boolean visited[] new boolean[V];// 创建一个队列用于BFSQueueInteger queue new LinkedList();// 标记起始节点为已访问并入队visited[s] true;queue.add(s);while (queue.size() ! 0) {// 出队一个节点s queue.poll();System.out.print(s );// 访问其所有未访问的邻接节点for (int i 0; i adj[s].size(); i) {int n adj[s].get(i);if (!visited[n]) {visited[n] true;queue.add(n);}}}}// 测试BFS算法public static void main(String[] args) {GraphBFS g new GraphBFS(4);g.addEdge(0, 1);g.addEdge(0, 2);g.addEdge(1, 2);g.addEdge(2, 0);g.addEdge(2, 3);g.addEdge(3, 3);System.out.println(BFS starting from vertex 2 : );g.BFS(2);} } 4. 算法应用 最短路径问题 Dijkstra算法适用于带有非负权重的图。 Bellman-Ford算法适用于带有负权重的图。 Floyd-Warshall算法计算图中所有节点对的最短路径。 最小生成树问题 Kruskal算法贪心算法适用于边的集合是无序的。 Prim算法贪心算法适用于节点的集合是无序的。 网络流问题 Ford-Fulkerson方法计算网络中的最大流。 Edmonds-Karp算法使用BFS来实现Ford-Fulkerson方法。
http://www.w-s-a.com/news/200645/

相关文章:

  • 优惠券网站做淘客违规吗个人建网站运营.
  • 旅游网站制作建设华大基因 网站建设
  • sem推广竞价托管南京seo网站优化
  • 网站优化网站建站教程网站建设 成都
  • 网站 配色表html代码在线
  • 城乡和建设部建造师网站众筹平台网站建设
  • 外贸网站模板免费下载微网站制作软件
  • 一个新的网站怎么做宣传技术先进的网站建
  • 福建网站建设有限公司需求网站
  • 生物科技企业网站做的比较好的企业培训网站模板
  • 南京 高端网站建设网站备案密码怎么找回
  • 蛋糕店网站模板建设电子商务系统网站
  • 海口网站建设优化公司网站开发要加班吗
  • 建设一个网站需要注意哪些要求群晖的网站开发
  • 精通网站开发阅读网页视频下载慢怎么办
  • 网站标题的选择巴音郭楞库尔勒网站建设
  • 成都市网站建设服务商怎么进网站后台管理系统
  • 企业网站站内优化30岁做网站编辑
  • 与安网站建设网站建设征求意见稿
  • 学校网站推广做网站手把手
  • 网站开发遇到的难题wordpress文章调用
  • 网站建设做的好在线logo免费设计生成器标智客
  • 郑州做网站齿轮网站排名怎么做 site
  • 船员专用网站开发建议wordpress 图片占用id
  • 桌面软件开发跟网站开发那个上海网站备案在哪里查询
  • 罗湖网站建设陕西省建设网官网住房和城乡厅官网
  • 做一个网站的详细教学wordpress 忘记用户名密码
  • 建设银行的网站是多少wordpress添加新页面跳转
  • 网站设计费用抓取网站访客qq号码
  • 驾校视频网站模板郑州网站建设价格