- 博客(6)
- 收藏
- 关注
原创 【莫奈】搜索(BFS+DFS)
顾名思义,就是以广度优先,一层一层搜索。当我们遍历到时,我们将的子节点存入队列中,然后再一个一个从队列中一个一个遍历。
2024-04-15 21:06:43 228 1
原创 【莫奈】单源最短路径(dijkstra)
n个点,m条有向边(长度>0给定一个源点s,计算s到每个点的最短距离。数据类型:图背景:集合a用来存放已经找到最短路径的点集合b用来存放还未找到最短路径的点P S:一开始,只有源点在集合a中)P S:在代码中可以用来表示是否在集合a中)②dis[n]数组:用来存放源点到各个点的距离road[n][n]:用来存放m条有向边(eg.road[3][4]表示点3到点4的距离)算法实现:①查找从源点出发的有向线段,录入dis[i]②查找dis中最小值(在集合b中的点),并把此点(记为pre。
2024-03-08 21:47:38 175
原创 【莫奈】并查集
并查集主要用于不同集合之间互相合并,查找的问题。数据结构:树因此我们要构建一个数组pre[ ]来存储元素的前驱节点。pre[x]的下标因为很多题目的标号是从1开始,未处理容易导致。
2024-03-07 21:47:34 262 3
原创 【莫奈】一维+二维前缀和
arr[n]给定的一维数组sum[n]表示arr前缀和的一维数组其中即,sum[i]为arr前i个数之和# arr[n]初始数组# sum[n]前缀和数组sum[0] = arr[0] #对sum[0]赋初值for i in range(1,n,1): #利用递推对sum赋值arr[n][m]给定的二维数组sum[n][m]表示arr前缀和的二维数组与a[i][j]所构成矩形的所有值之和(即图中蓝色矩形部分)①对sum[0][0]赋值②对第一行第一列赋值,本质与一维前缀和相同。
2024-03-05 20:41:33 251
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人