算法题解笔记
文章平均质量分 80
雙溪舴艋舟
这个作者很懒,什么都没留下…
展开
-
二分图的匹配问题-匈牙利算法
是。原创 2024-05-29 16:48:11 · 814 阅读 · 0 评论 -
双向搜索-meet in middle
在广度优先搜索中,如果结点数扩展增长过快,可以考虑双向广 搜。(若扩展快,但总状态量不大,也可直接用广搜)⚫ 应用场合:有确定的起点和终点,并且能把从起点到终点的单个 搜索,变换为分别从起点出发和从终点出发的“相遇”问题。⚫ 实现方法:(1)合用一个队列,交替进行。两个方向的搜索产生相 同的子状态,结束。适合正反方向扩展新节点数量差不多的情况;(2)分成两个队列,让子状态少的BFS先扩展,可以减少搜索的总 状态数,尽快相遇。以一道例题进行讲解。原创 2024-05-27 20:18:54 · 971 阅读 · 0 评论 -
多源点的最短路径问题
所以我们可以采取BFS的方式(因为权值为1,用这个简单点)——>就会使用到队列,就自然而然地想到使用vector的方式进行建图,并用一个Bool vis数组表示节点是否被访问过。(就是将生产相同零件的车间用权值为0的边连接起来,连接后的整体看做一个虚拟节点。ps:并不是真正的连接,只是在后续使用BFS入队时,生产相同零件的车间一起入队即可)。,并将这个节点连接到所有的源点,边的权重为零。(Dijkstra是算一个源点到其他节点的最短路径)。需要一个bfs函数,一个min_cost函数,一个main函数。原创 2024-05-22 13:02:54 · 314 阅读 · 1 评论