2026/3/30 19:50:32
网站建设
项目流程
软件开发文档包括,潍坊优化公司,2万元建设网站贵吗,新闻发布会直播在哪里看图论理论基础#xff1a;邻接矩阵、邻接表#xff1f;#xff1f;-写不出来 没入门而且图论应用广泛#xff0c;在大家做项目开发的时候#xff0c;或多或少都会用到图论相关知识。例如#xff1a;通信网络#xff08;拓扑排序、最短路算法#xff09;#xff0c;社交…图论理论基础邻接矩阵、邻接表-写不出来 没入门而且图论应用广泛在大家做项目开发的时候或多或少都会用到图论相关知识。例如通信网络拓扑排序、最短路算法社交网络深搜、广搜路径优化最短路算法任务调度拓扑排序生物信息学基因为节点基因关系为边游戏开发A * 算法等等等图的种类有向图、无向图、权重度有多少条边连接这个节点出度入度only make sense when有向图连通图在无向图中任何两个节点都是可以到达的我们称之为连通图 非连通图强连通图在有向图中任何两个节点是可以相互到达的我们称之为 强连通图连通分量强连通分量图的构造朴素存储n*2 array邻接矩阵n*n矩阵内存空间比较大邻接表增量 在于 边 的数量图的遍历之前在“二叉树”学过DFS BFS-有印象学过但现在应该不会写了DFS深搜BFS广搜深度优先搜索理论基础Depth First Searchrecall: 回溯算法本质也是dfs深搜三部曲1.确定函数 参数2.确定终止条件3. for(选择本节点连接的节点) - 处理节点 - dfs图选择的节点 - 回溯撤销处理结果卡码网98.可达路径对AMC真的没招了Broad First Search广度优先搜索对于matrix的BFS理解只能上下左右的方向进行搜索不能斜着队列先入先出/栈先进后出/数组试着跟着写python pseudo-code:#使用邻接矩阵存图,遍历过的节点不能再次遍历visited定义全局变量四个方向的遍历那个dir [[0, 1], [1, 0], [-1,0], [0,-1]]def bfs(graph, visited, x, y):#以下是把起点加入队列queuequeue #这是起点坐标queue.append(x, y)visited[x][y] 1 #表示已经访问过while len(queue) ! 0:#队列不为空#取出队列中的首元素cur queue[-1]?还是queue[0]queue.pop()for i in range(0, 4):nextx cur[0] dir[i][0]nexty cur[1] dir[i][1]if nextx, nexty #越界了就不能处理continueif visited[nextx][nexty] 1#之前访问过也不能重复加入到队列里:continuequeue.append([nextx, nexty])visited[nextx][nexty] 1