自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (5)
  • 收藏
  • 关注

原创 算法课读书笔记

算法读书笔记以下是正文

2021-06-18 12:05:48 94

原创 图的m着色问题

问题给定无向连通图G和m种颜色,用这些颜色给图的顶点着色,每个顶点一种颜色。如果要求G的每条边的两个顶点着不同颜色。给出所有可能的着色方案;如果不存在,则回答“NO”解析考虑所有的图,讨论在至多使用m种颜色的情况下,可对一给定的图着色的所有不同方法。通过回溯的方法,不断的为每一个节点着色,在前面n-1个节点都合法的着色之后,开始对第n个节点进行着色,这时候枚举可用的m个颜色,通过和第n个节点相邻的节点的颜色,来判断这个颜色是否合法,如果找到那么一种颜色使得第n个节点能够着色,那么说明m种颜色的方案是

2021-06-06 10:23:13 132 2

原创 哈夫曼树及编码

1.问题最优前缀码问题给定字符集C={x1,x2,…,xn}和每个字符的频率f(xi),求关于C的一个最优前缀码解析2.解析构造最优前缀码的贪心算法就是哈夫曼算法哈夫曼编码:对于一颗具有n个叶子的哈夫曼树,若对树中的每个左分支赋予0,右分支赋予1,则从根到每个叶子的路径上,各分支的赋值分别构成一个二进制串,该二进制串就成为哈夫曼编码。哈夫曼树满足两条性质:性质1: 哈夫曼树是前缀编码。性质2: 哈夫曼树是最有前缀编码。 对于包含n个数据字符的文件,分别以它们出现的次数为权值构造哈夫曼树,则利

2021-05-31 09:17:44 392

原创 装载问题(0-1背包问题)

问题整数规划问题,0-1 背包问题解析思路:轻者先装,直到再装任何集装箱将使轮船载重量超过 C 时停止。定理:对于任何正整数 k,算法(轻者先装)对 k 个集装箱的实例得到最优解。证明: ( 数学归纳法)(1) k=1,只有1个集装箱,其重量小于C。 任何装法都只有一种方式,因此都是最优解,因此轻者先装也是最优解。(2)归纳假设:假设算法对于规模为 k的输入都能得到最优解。 考虑规模为k+1的输入,N= {i,2…,k+1},w.={w1,w2,w3…wk+1} …是集装箱 重量, w1≤

2021-05-24 09:58:18 203

原创 LCS和背包问题

问题最长公共子序列LCS给定序列X =< X1,X2,…,Xm >Y =< Y1,Y2,…,Yj >求X和Y的最长公共子序列。解析动态规划法Xi =< x1,x2,…,xi >Yj =< y1,y2,…,yj >Zk =< z1,z2,…,zk >如果Zk是Xi和Yj的最长公共子序列(1)xi=yj,那么zk=xi=yj,Zk-1是Xi-1和Yj-1的最长公共子序列(2)xi≠yj,zk≠xi,那么Zk是Xi-1和Yj的最

2021-05-18 23:50:24 63

原创 矩阵链乘法(动态规划)

问题描述问题:设A1,A2,……,An为n个矩阵的序列,其中Ai为Pi-1×Pi阶矩阵,这个矩阵链的输入用向量P=<P0,P1,……,Pn>给出。给定向量P,确定一种乘法次序,是的具备运算的总次数达到最小。解析Ai…j:表示矩阵链相乘的子问题AiAi+1…Aj;m[i…j]:表示得到乘积Ai…j所用的最少基本运算次数;假定,最后一次相乘发生在矩阵链Ai…k和Ak+1…j之间,即AiAi+1…Aj=(AiAi+1…Ak)(Ak+1Ai+2…Aj) k=i,i+1,…,j-1e.g.

2021-05-09 15:11:33 454

原创 投资问题(动态规划)C++

投资问题(动态规划)C++问题设m元钱,n项投资,函数fi(x)表示将x元投入到第i项项目中所产生的效益,i=1,2,3…n问:如何分配这m元钱,使得投资的总效益最高?解析假设分配给第 i 个项目的钱数是 xi,问题描述为:目标函数:max{f1(x1)+f2(x2)+…+fn(xn)}约束条件:x1+x2+…+xn=m,xi∈N;设Fk(x)表示x元投给前k个项目的最大效益,k=1,2,…,n,x=1,2,…,m递推方程:Fk(x)=max{fk(xk)+Fk-1(x-xk)}(0≤x

2021-04-26 17:09:02 1290 1

原创 选第k小元素:特定分治策略(JAVA)

选第k小元素:特定分治策略(JAVA)问题在一个数组S中查找第k小的元素并输出。解析以S中的某个元素m作为划分标准,将S划分为两个子数组S1和S2,把这个数组中比m小的都放入S1的数组中,数组S1的元素个数是|S1|个;把这个数组中比m*大的都放入S2的数组中,数组S2的元素个数是|S2|个。若k<|S1|,则原问题归纳为在数组S1中找第k小的子问题。若k=|S1|+1,则m*就是要找的第k小元素。若k>|S1|+1,则原问题归纳为在数组S2中找第n−|S1|−1小的子问题。

2021-04-19 16:56:37 526

原创 最近对问题(C++)

最近对问题(C++)问题问题描述:平面上有n个点P1,P2,…,Pn,n>1,Pi的直角坐标为(Xi,Yi),i=1,2,…,n.求距离最近的两个点及他们之间的欧几里得距离。解析一维情况为了简单化问题,我们先考虑一维情形,即所有的点都在x轴上(假如顺序是有序的,也可以排好序,为简单,直接输入有序序列),x轴上某个点m将集合划分为s1和s2,并且两个集合的点数都是相同的,递归的求解两个子集最近对的点,(p1,p2)和(q1,q2)。如果,两个集合的最近点对都在子集s1和s2中,则 dista

2021-04-12 19:43:03 842

原创 二分归并排序(C语言)

二分排序待写

2021-04-05 22:18:51 1334

原创 二分查找和普通排序(C语言)

二分查找和普通查找(C语言)问题写出两种检索算法:在一个排好序的数组T[1…n]中查找x,如果x在T中,输出x在T的下标j;如果x不在T中,输出j=0.按实验模板编写,“分析”部分仅给出复杂度结果即可。解析想要从一个已经有序的数组,我们想要快速的找到其中特定值的所在位置,我们首先会想到普通的暴力遍历,优化一点的话,就会想到二分查找普通查找我们只需要从左往右依次遍历数组,和要查找的值进行比较,如果相同的话就返回下标核心代码为:void stupid(int a[],int num){

2021-03-26 17:10:32 172

原创 Floyd算法、Dijkstra算法最短路径问题(C语言)

Floyd算法、Dijkstra算法最短路径问题(C语言)问题给定一个已知各边权重的有向图,现要求指定点到图中各点的最短距离。解析Floyd算法假设采用矩阵存储图中各点到其余点的距离,Floyd算法的核心就是遍历其他点,看看直接从选中点直接到目标点的距离是否比从选中点途径其他点再到目标点的距离长,如果是的话就更新选中点对应的举证位置的值。Floyd算法的核心是:if(graph[i][j]>graph[i][k]+graph[k][j]){ graph[i][j] = graph[

2021-03-22 13:16:44 305 2

原创 Prim算法,Kruskal算法构造最小生成树(C语言)

Prim算法、Kruskal算法构造最小生成树(C语言)问题给定一个边权重的连通图,以点1为起点,构建一个能将图中所有定点连接起来,且边权重和最小的图。解析prim算法prim算法的核心是从起始点开始,每次选择到已有点路径距离最短的点连接,但不能成环。实现示意图如下:这样一个图我们选取点1为起始点:step 1:step2:step3:step4:step5:kruskal算法与prim算法的目的相同,但kruskal算法选择边,即每次选择图中权重最小的边,值得注意的是

2021-03-13 21:30:22 1095

原创 对jwts的理解

jwts(Json Web Token)jwts适用于前后端协作的前端给后端发来一个提交信息请求,为了前端传输数据给后端时候信息的安全,jwts将信息进行加密,并进行传输,加密后的信息有三部分构成:分别是**头部(header)、载荷(payload, )、签证(signature).**其中主要信息则存在载荷中,是一个mapClaimsClaims是一个存放jwts信息的容器,即存放jwts的Map信息,就相当于是一张可以读取个人信息的磁卡...

2020-12-11 11:13:38 2596

原创 网络编程

网络编程例子以聊天程序为例子:找到网络上的一台机子聊天需要有一个接受发送方和接受方,那么问题来了,怎么确定一台网络上的机子呢?我们可以通过ip地址和端口,定位到这台计算机上的某个资源找到机子以后怎么进行数据传输?网络编程的要素一:获取双方地址:IP地址端口号二:网络通信协议http,ftp,smtp,tcp,udp…这里我们采用TCP/IP:重点学习传输层IPip地址:InetAddressip的分类ipv4/ipv6公网(互联网)—私网(局域)此类分为两

2020-11-29 16:25:56 88

原创 Swagger被拦截

被过滤的原因是配置过滤器时,不需要token的url没有给准确在配置文件里添加以下代码:dcs: jwtKey: 66a874772c8965474a8332e3628bc473 anonymous: # Swagger - "/swagger-resources/**" - "/webjars/**" - "/swagger-ui.html/**" - "/v2/**" - "/doc.html/**"...

2020-11-28 19:33:42 1718

原创 基于springboot,mybatis-plus的代码生成器使用方法

简介AutoGenerator 是 MyBatis-Plus 的代码生成器,通过 AutoGenerator 可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各个模块的代码,极大的提升了开发效率。特别说明:自定义模板有哪些可用参数?Github Gitee AbstractTemplateEngine 类中方法 getObjectMap 返回 objectMap 的所有值都可用。功能代码生成器是一个方便的产生项目控制层,服务层等的工具,很大程

2020-11-26 20:56:34 139 1

原创 IDEA中hutool的使用

IDEA 中hutool的使用简介Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。Hutool中的工具方法来自于每个用户的精雕细琢,它涵盖了Java开发底层代码中的方方面面,它既是大型项目开发中解决小问题的利器,也是小型项目中的效率担当;Hutool是项目中“util”包友好的替代,它节省了开发人员对项目中公用类和公用工具方法的封装时间,使开发专注于业务,同时可以最大限度的避免封装

2020-11-25 16:36:03 4557 1

第一周期(2021_07_10-2021_07_19).pdf

第一周期(2021_07_10-2021_07_19)

2021-09-09

第五周期(2021_08_21-2021_08_31).pdf

第五周期(2021_08_21-2021_08_31)

2021-09-09

第四周期(2021_08_11-2021_08_20).pdf

第四周期(2021_08_11-2021_08_20)

2021-09-09

第三周期(2021_08_01-2021_08_10).pdf

第三周期(2021_08_01-2021_08_10)

2021-09-09

第二周期(2021_07_20-2021_07_31).pdf

第二周期(2021_07_20-2021_07_31)

2021-09-09

空空如也

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

TA关注的人

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