自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 最短路四种算法代码实现+详细注释(Dijkstra,bellman-ford,spfa,Floyd分别对应不同题型)

最短路的四种算法Dijkstra(只能解决正权边,单源)bellman-ford(可以解决负权边,单源)spfa(可以解决负权边,单源)Floyd(可以解决负权边,多源)总结 在求最短路的问题上,根据问题可以选择不同的算法来求解,请看下图: 接下来,我们将依次介绍这些算法解决哪些不同的问题。 前提摘要(在以下算法中,n和m分别代表点数和边数) Dijkstra(只能解决正权边,单源) Dijkstra算法分为朴素版和堆优化版,分别解决稀疏图和稠密图两种问题。当m很大即边数很多时,该图为稠密图,适合用邻接矩

2021-05-13 17:15:10 1420

原创 链式前向星附详细代码解析

链式前向星是一种类似于邻接表的存图方式,同样适用于有向 图和无向图。他建立的是边与边之间的联系。 在解决最短路的问题时,面对稀疏图,用邻接矩阵显然不可以,而在邻接表的选择上,用Vector的效率不如链式前向星。 例如下面的题Invitation Cards 链式前向星其实就是静态建立的邻接表,时间效率为O(m),空间效率也为O(m)。遍历效率也为O(m)。 5 7 1 2 1 2 3 2 3 4 3 4 5 4 1 3 3 1 5 5 4 5 6 链式前向星存的是以【1,n】为起点的边的集合,对于上面的数

2021-05-10 11:11:55 424

原创 最短路(dijkstra)详解及其堆优化

最短路(dijkstra)及其堆优化 Djkstra 算法解决的问题是:给定图和源顶点v,找到从v至图中所有顶点的最短路径。 先看一个问题 http://acm.hdu.edu.cn/showproblem.php?pid=2544 在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt。但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在他们想要寻找最短的从商店到赛场的路线,你可以帮助他们吗? 输入包括多组数据。每组数据第一行是两个整数N、M(N<=

2021-04-30 12:05:45 817

原创 c++ 队列(queue)与优先队列(priority_queue)用法详解

队列与优先队列(priority_queue)用法详解 队列queue与优先队列头文件均为#include<queue>,队列与优先队列的不同之处在于优先队列可以自定义其中数据的优先级, 让优先级高的排在队列前面,优先出队。 首先我们来看一下队列和优先队列的基本操作 队列(queue)在定义时 queue<类型>队列名 它的基本操作有 push 在队列尾部插入一个元素 pop 将队列中最靠前位置的元素拿掉(剔除)。无返回值的void函数。 size 返回队列

2021-04-30 11:26:57 951

原创 LCM Walk(详细题解,一看就会)

LCM Walk(详细题解,一看就会) 问题描述 A frog has just learned some number theory, and can’t wait to show his ability to his girlfriend. Now the frog is sitting on a grid map of infinite rows and columns. Rows are numbered 1,2,⋯1,2,⋯ from the bottom, so are the columns

2021-04-30 10:15:28 288

原创 递归、回溯和DFS(深度优先搜索)

递归、回溯和DFS(深度优先搜索) 1、递归 递归:简单来说就是自己调用自己。 案例:斐波那契数列 斐波那契数列的是这样一个数列:1、1、2、3、5、8、13、21、34…,即第一项 f(1) = 1,第二项 f(2) = 1…,第 n 项目为 f(n) = f(n-1) + f(n-2)。求第 n 项的值是多少。 (1)、递归函数功能 假设 f(n) 的功能是求第 n 项的值,代码如下: int f(int n) { } (2)、递归结束的条件 显然,由题目可知,当 n = 1 或者 n =

2020-12-11 17:26:43 742

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除