(54)王道数据结构-查找的基本概念基本概念查找。在数据集合中寻找满足某种条件的数据元素的过程称为查找。查找的结果一般分为两种:一是查找成功,即在数据集合找到了满足条件的数据元素;二是查找失败。 关键字。数据元素中唯一标识该元素的某个数据项的值,使用基于关键字的查找,查找结果应该是唯一的。例如,在由一个学生元素构成的数据集合中,学生元素中”学号”这一数据项的值唯一地标识一名学生。 查找: 在数据集合中寻找满足某种条件的数据元素的过程 2022-08-21 信工核心 #数据结构 #查找
(53)王道数据结构-关键路径原文地址:关键路径 基本概念如果此时我们为每个任务添加一个权重,表示任务所需要花费的时间,那么我们的后续任务就需要前置任务全部按时间完成之后才能继续。只要计算出这些最拖延工期的任务,得到一条关键路径,我们就可以得到完成整个工程最早的时间以及各项任务可以在什么时候开工了。 操作步骤只需要计算两个东西,一个是事件最早完成时间(也就是要完成这个事件最快要多久),还有一个是事件最晚开始时间(就是这个事件在 2022-08-21 信工核心 #数据结构 #有向无环图 #拓扑排序 #关键路径
(52)王道数据结构-拓扑排序原文地址:拓扑排序 基本概念拓扑排序(Topological Order)是指,将一个有向无环图(Directed Acyclic Graph)进行排序进而得到一个有序的线性序列 可能存在的拓扑排序: 1.A,B,C,D,E,F,G,H,I,J 2.A,C,D,B,E,F,G,H,I,J 3.A,D,C,B,E,F,G,H,I,J 4.A,B,D,C,E,F,G,H,I,J 操作步骤我们还是利用 2022-08-21 信工核心 #数据结构 #有向无环图 #拓扑排序
(51)王道数据结构-有向无环图描述表达式原文地址:有向无环图 基本概念因为始终是由前置条件来解锁后续,所以说整个图中是不可以出现循环的(要是有循环的话就没办法继续了,就像先有鸡还是先有蛋的问题一样)所以说构建出来的这种图我们也称为有向无环图(DAG),其实按照我们通俗的话来说,它就是个流程图罢了,我们只需要按照这个流程图来进行即可。像这种顶点表示活动或任务的图也称为AOV图。 其他知识:https://www.eldpepar.com/ 2022-08-21 信工核心 #数据结构 #有向无环图
(50)王道数据结构-最短路径问题(Floyd)原文地址:Floyd 基本概念是解决任意两点间的最短路径的一种算法,可以正确处理有向图或负权(但不可存在负权回路)的最短路径问题,同时也被用于计算有向图的传递闭包 基本规则1.从1开始,一直到n(n就是顶点数)的一个矩阵序列A1、A2、…An,我们需要从最初的邻接矩阵开始,从A1开始不断往后推 2.每一轮,我们都会去更新那些非对角线(对角线都是0,更新了还是0,所以说没必要看)、i行i列以外的元素 2022-08-21 信工核心 #数据结构 #图 #最短路径 #Floyd
(49)王道数据结构-最短路径问题(Dijkstra)基本概念Dijkstra算法通过保留目前为止所找到的每个顶点v∈V从s到v的最短路径来工作。初始时,原点s的路径权重被赋为0(即原点的实际最短路径=0)。同时把所有其他顶点的路径长度设为无穷大,即表示我们不知道任何通向这些顶点的路径[1]。当算法结束时,d[v] 中存储的便是从s到v的最短路径,或者如果路径不存在的话是无穷大。 操作步骤原文链接:https://zhuanlan.zhihu.com 2022-08-21 信工核心 #数据结构 #图 #最短路径 #Dijkstra
(48)王道数据结构-最短路径问题(BFS)基本概念广度优先搜索查找最短路径只是对无权图而言的。图是带权图时,把从一个顶点v0到图中其余任意一个顶点vi的一条路径(可能不止一条)所经过边上的权值之和,定义为该路径的带权路径长度,把带权路径长度最短的那条路径称为最短路径。 单源最短路径求解最短路径的算法通常都依赖于一种性质,即两点之间的最短路径也包含了路径上其他顶点间的最短路径。带权有向图G的最短路径问题一般可分为两类:一是单源最短路径,即求 2022-08-20 信工核心 #数据结构 #图 #最短路径 #BFS
(47)王道数据结构-最小生成树基本概念生成树连通图的生成树是包含图中全部顶点的一个极小连通子图。若图中顶点树为n,则它的生成树含有n-1条边。对于生成树而言,若砍去它的一条边,则会变成非连通图,若加上一条边则会变成一个回路 最小生成树最小生成树即最小代价树。一个连通图是生成树是图的极小连通子图,它包含图中的所有顶点,并且只含尽可能少的边。这意味着对于生成树来说,若砍去它的一条边,则会使生成树变成非连通图;若给它增加一条边,则 2022-08-20 信工核心 #数据结构 #图 #最小生成树
(46)王道数据结构-图的深度优先遍历基本概念深度优先搜索类似于树的先序遍历。首先访问图中某一起始顶点v,然后由v出发,访问与v邻接且未被访问的任一顶点w1,再访问与w1邻接且未被访问的任一顶点w2·····重复上述过程。当不能再继续向下访问时,依次退回到最近被访问的顶点,若它还有邻接顶点未被访问过,则从该点开始继续上述搜索过程,直到图中所有顶点均被访问过为止。 从2出发深度优先遍历序列: 2, 1, 5, 6, 3, 4, 7, 8 2022-08-19 信工核心 #数据结构 #图 #深度优先遍历
(45)王道数据结构-图的广度优先遍历基本概念广度优先搜索类似于二叉树层次遍历算法,其基本思想是:首先访问起始顶点v,接着由v出发,依存访问v的各个未访问过的邻接顶点w1,w2,…,wi,然后依次访问w1,w2,…,wi的所有未被访问过的邻接顶点;再从这些访问过的顶点出发,访问它们所有未被访问过的邻接顶点······依次类推,直到图中所有顶点都被访问过为止。Dijkstra单源最短路径算法和Prim最小生成树算法也应用了类似的思想。 2022-08-19 信工核心 #数据结构 #图 #广度优先遍历