自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 [Java学习] 排列组合相关知识

文章目录前言组合数模版组合数模版1组合数模版2快速幂快速幂求逆元逆元定义具体推导求组合数的方法满足条件的01序列前言最近学习了一些排列组合的知识,知识量有些庞杂,因此写一篇博客总结一下。本篇涉及许多数学公式定理,需要联系起来,这样可以方便记忆。组合数模版组合数模版1当询问次数非常多时,即1≤n≤1000001\leq n \leq 1000001≤n≤100000,1≤a≤b≤20001 \leq a \leq b \leq 20001≤a≤b≤2000,假设从 aaa 个苹果里选 bbb .

2022-01-12 12:51:08 292

原创 [Java学习]约数相关问题

文章目录前言相关数学知识约数定义算术基本定理的推论试除法求公约数试除法具体事例约数的个数约数个数推导具体事例约数之和约数之和推导具体事例前言最近在学习数论的相关知识,特此整理一下。本篇主要介绍了约数的一些问题。相关数学知识约数定义若整数 nnn 除以整数 ddd 的余数为0,即 ddd 能整除 nnn,则称 ddd 是 nnn 的约数。算术基本定理的推论在算数基本定理中,若正整数 NNN 被唯一分解为 N=p1c1p2c2⋯pncmN=p_1^{c_1}{p_2}^{c_2}\cdot.

2021-12-25 16:35:40 557

原创 [Java学习] 最小生成树——kruskal算法

文章目录前言Kruskal算法流程二、使用步骤1.引入库2.读入数据总结前言上一篇主要介绍了求解最小生成树算法之一的Prim算法。本篇主要介绍的是另一种Kruskal算法。相比于Prim算法,kruskal算法更易理解。Kruskal算法流程首先将一个图中所有边按照权值大小进行排列,来判断是否所有的边边是否应该加入到集合中这是当前的全部集合,此时总集合边的数量为4。此时我们可以看到2-5这条边的值最小,因为2所在的集合与5所在的集合不同,所以可以连接,边数加1。二、使用步骤1.引入库.

2021-12-20 20:45:14 1158

原创 [Java学习] 最小生成树——Prim算法

文章目录最小生成树Prim算法流程应用实例求最小生成树最小生成树百度百科上对于最小生成树的定义是这样的:一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边。通俗的解释最小生成树包括以下两点:(1) 最小;(2) 树。对于树的概念,必须满足以下两条性质:(1)图中没有任何环;(2)必须连接所有顶点且都是互通的;故,对于一个有N个顶点的树,他有N-1条边。接下来是最小。一个图会有若干个生成树,我们把这些生成树边的权值相加称为权值.

2021-12-17 18:02:36 2892

原创 [Java学习] 最短路径计算——SPFA算法

文章目录前言算法中值得注意的地方SPFA求最短路问题SPFA判断负环前言上一篇介绍了Bellman_Ford算法,而本篇介绍的SPFA算法仅仅是对该算法的一个优化。回顾一下Bellman_Ford算法,他通过遍历所有的边,最终找到一个最短路径,但是有许多的边遍历了其实并没有太多意义,我们只需要遍历那些到源点距离变小的点所连接的边即可,只有当一个的前驱结点更新了,该节点才会得到更新。基于以上思想,SPFA算法将创建一个队列,加入每一次距离被更新的结点。算法中值得注意的地方(1)st数组的作用.

2021-12-13 19:42:44 803

原创 [Java学习] 最短路径计算——Bellman_Ford算法

文章目录前言一、Dijstra算法局限性二、Bellman_Ford算法1.算法介绍2.具体例子分析前言上篇文章写到Dijstra算法。但是在有些情况下,比如有负权边时,Dijstra算法就不能再使用了,因此需要一个新的算法来解决这个问题。对于存在负权边的问题,有两种算法:Bellman_Ford算法和SPFA算法,本篇博客主要介绍一些Bellman_Ford算法。一、Dijstra算法局限性1.问题:为什么Dijstra不能运用在含负权边的图中?比如下面这个例子:利用Dijstra算.

2021-12-10 17:34:25 1228

原创 [Java学习]最短路径计算——Dijkstra算法

系列文章目录文章目录系列文章目录前言一、朴素Dijstra算法1.算法介绍2.具体题目描述:二、堆优化的Dijstra算法1.算法描述2.具体题目描述:总结前言最近在看关于求最短路径的一些算法,因此专门整理一下,以方便后续的复习。求最短路径的情形主要分为以下两种:(1)单源最短路径;(2)多元汇最短路径。而单源最短路经中包括所有边数的权都是正数的,和边数有负数的这两种。针对不同的问题,可以分别用不同的算法进行求解。下图表示不同问题所应用的不同算法,以及算法的复杂度:这篇文章主要介绍一些D

2021-12-10 11:13:59 2437 2

原创 [Java学习] BFS算法示例

文章目录前言一、BFS算法的大致思路二、两个案例1.走迷宫1.1 问题描述1.2 实现代码2.八数码2.1 问题描述2.2 实现代码前言上篇有写到DFS算法的大致思路和一个应用案例。本篇主要介绍BFS算法(广度优先搜索)的思路和两个案例。一、BFS算法的大致思路BFS算法利用了数据结构中的队列,他的算法思想大体如下:(1)A为最高层作为队列的队头,将其移出队列,并将相邻元素移入队列。B C D F作为A的相邻队列进入队列(1)将B移出队列,如果B有邻接点且未被访问过,将其依次压入队列.

2021-12-06 21:05:28 1951

原创 [Java学习] DFS算法示例

文章目录前言一、DFS算法大致思路二、一个示例问题1.问题表述2.实现代码前言遍历一个树或者图的过程中,DFS(深度优先搜索)是比较常用的一个算法。这次记录一下DFS算法的大致思路和一个示例。一、DFS算法大致思路DFS算法(深度优先算法)最重要的是搜索次序。对于一个全排列问题来说,以n=3为例,他的搜索顺序是这样的:假设最开始有3个空位,从前往后填数字,每次填一个数字,填的数字不能和之前的一样。最开始的时候,三个位置都为空,即_ _ _首先填写第一个空位,第一个空位可以填 1,填写后.

2021-12-06 15:49:25 2682

原创 [Java学习] Comparator和Comparable的区别

文章目录前言一、Comparable1.1 Comparable简介1.2 代码实例二、Comparator2.1 Comparator简介总结前言最近在学习Java的基础语法,遇见了Comparator和Comparable两个用于比较的接口,特地记录一下,方便以后复习应用。本人作为新手,第一次写文章,如有错误欢迎指正。一、Comparable1.1 Comparable简介Comparable为java.lang包下的排序接口。Arrars类中的sort方法承诺可以对对象数组进行排序,但

2021-12-05 18:41:34 480

空空如也

空空如也

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

TA关注的人

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