自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 对于线性筛法筛质数的理解

开了两个数组,一个是st[N],初始值全为false,在筛选过程中如果i是合数则对应的st[i]变为true。primes[N]数组中存放1~n中的质数。从线性筛法的代码中可以看出,在第一重循环中,会先通过st[i]的逻辑值判断该数是不是质数,然后i会乘于目前的primes数组中的各个数,直到i会被primes数组中的某个数整除。可以从反证法来理解这个算法。首先假设1~n中的某个质数a,st[a]从false改为true,这显然是不可能的,因为a是质数,a前的任何数乘于primes数组中的任何数

2022-03-20 11:03:24 94 1

原创 prim算法直观理解与证明

今天刚学完最小生成树,乘着知识还在脑袋里热乎着,便写下来记录下,也便日后复习回忆。prim算法是用来求解最小生成树的。首先让我们来规定符号: 根据每个店加入生成树的先后顺序不同分别记为 ,总的来说算法步骤就是:1.将距离集合(即最小生成树)的距离最近的点加入到集合中,如果集合中当前没有点,则可以任意加入某一个点。(该点到集合的距离定义为该点到集合中每个点的距离中最小的那一个距离。)2.用新加入到集合中的点来更新未被加入到集合中的点到集合的距离。3.重复1,...

2021-12-21 10:04:53 1635 1

原创 Dijkstra算法理解(单源最短路径)

首先理解下Dijkstra的数学基础。见如下图片:(图片摘自(77条消息) 迪杰斯特拉算法(Dijkstra)证明_肥宅Sean-CSDN博客_dijkstra证明)为什么选这张图片呢?因为当时我就是从这张图片所讲的开始理解,并产生疑问,再解决疑问的。首先 ,要将中的点加入到中并需要是中距离(起始点)最小的点原因是使得到之间的最短路径所经过的点都是在中。其次,已经加入到中的点都保证自己到之间的距离一定是最小的了。那么,接下来要向中的点无非也是要保证距离起始点的距离是最小的了,那么对中的.

2021-12-16 11:20:52 126

空空如也

空空如也

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

TA关注的人

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