- 博客(23)
- 资源 (1)
- 收藏
- 关注
原创 加速进GitHub
1、进入C:\Windows\System32\drivers\etc,修改hosts文件如果没有hosts文件,如下图,取消勾选隐藏受保护的系统文件即可2、用cmd ping github.global.ssl.fastly.net再ping 20.205.243.166以上得到两个ip地址,分别写入hosts文件中,如图完成。...
2021-12-17 22:25:24 269
原创 linux ubuntu crontab 定时执行 shell 脚本 数据备份 遇到的坑
要求编写备份服务,每隔2个小时,将 /home/user/local/data 文件夹的数据拷贝到 /home/user/backup 下面,并且将备份时间和文件名称列表写入到 /home/user/list 文件。以上的‘user’ 就是系统对应的用户名,本文用的是‘levant’一、创建相对应的文件夹先 sudo su 一下在、/local/data 下新建几个文件夹,比如我建的是这几个建立backup文件夹用来备份建立list记录备份时间和文件名称二、开始写shell脚本注意
2021-09-18 02:10:39 411
原创 图的m着色问题
问题 图的m着色问题。给定无向连通图G和m种颜色,用这些颜色给图的顶点着色,每个顶点一种颜色。如果要求G的每条边的两个顶点着不同颜色。给出所有可能的着色方案;如果不存在,则回答“NO”。解析考虑所有的图,讨论在至多使用m种颜色的情况下,可对一给定的图着色的所有不同方法。通过回溯的方法,不断的为每一个节点着色,在前面n-1个节点都合法的着色之后,开始对第n个节点进行着色,这时候枚举可用的m个颜色,通过和第n个节点相邻的节点的颜色,来判断这个颜色是否合法,如果找到那么一种颜色使得第n个节点能够着..
2021-06-20 01:20:00 131
原创 最优前缀编码
问题代码(码字):Q{001,00,010,11}表示字符a,b,c,d同一序列:0100001产生两种译码(产生歧义):01 00 001;010 00 01二元前缀码:任何字符的代码不能作为其他字符代码的前缀利用二元前缀码译码:从第一个字符开始依次读入每个字符(0或1),如果发现读到的字串与某个码字相等,就将这个子串译作对应的码字;然后从下一个字符开始继续这个个过程,直到读完输入的字符串为止。二元前缀编码存储:二叉树结构,每个字符作为树叶,对应这个字符的前缀码看作根到这片树叶的一条路径,.
2021-06-20 01:14:40 216
原创 01背包问题
问题已知有一个最多可以装质量W的背包,还有N件物品,第i件物品的质量是w[ i ],价值是v[ i ],每种物品尽可以放一件,可以选者放或者不放,而且不可以超过背包的最大承受的重量解析设计 for(int i = 1; i <= N; i++){ for(int j = 1; j <= W; j++){ if(j < w[i]) dp[i][j] = dp[i - 1][j]; //不装,因为装不下//在可以装得前提下, 看.
2021-06-20 00:22:18 69
原创 最长公共子序列LCS算法
问题最长公共子序列问题,给定序列X=<x1,x2,…,xm>,Y=<y1,y2,…,yj>,就X和Y的最长公共子序列。设X和Z是两个序列,其中X=<x1,x2,…,xm>,Z=<z1,z2,…,zk>,如果存在X的元素构成的按下标严格排序递增序列<xi1,xi2,…,xik>,使得xij=zj,j=1,2,…,k,那么Z是X的子序列,Z含有的元素个数,称为子序列的长度。定义:设X和Y是两个序列,如果Z既是X的子序列,也是Y的子序列,则称Z是.
2021-06-20 00:20:36 116
原创 矩阵链乘法
问题解析设计 for r from 2 to n //r为当前问题规模(长度) for I from 1 to n-r+1 j=i+r-1 //不同终点 m[i , j] = m[i+1,j]+P[i-1] * P[k] * P[j] //划分为Ai(Ai+1…Aj),此时k=i s[i , j] = i for k from i+1 to j-1 t =min (t, m[i, k]+m[k+1,..
2021-06-20 00:18:56 89
原创 组合优化-投资问题
问题解析设计//给F[0][0-m]赋值 for (j from 0 to m) { F[0][j] = f[0][j];//第一个项目上投入0 to m元钱的最大收益等于f[0][0 to m] } for (遍历n个项目) {//项目循环,从1开始,也就是从前2个项目开始算,因为第一个项目已经赋值 for (遍历m元钱) {//钱数循环 从0开始 for (k = 0; k <= j; ++k) { //F[i][x],将x元..
2021-06-20 00:14:38 209
原创 特定分治策略选择第k小元素
问题一个数组S中查找第k小的元素并输出。解析设计分析源码#include<iostream>#include<stdio.h>using namespace std;int Partition( int a[], int start, int end, int pivot ){ int target = a[pivot]; int low = start, high = end; a[pivot] = a[low]; wh..
2021-06-20 00:11:32 66
原创 最近对问题
问题最近对问题要求在包含有n个点的集合S中,找出距离最近的两个点。设 p1(x1,y1),p2(x2,y2),……,pn(xn,yn)是平面的n个点。2解析1.按x坐标排列的n(n>=2)个点的集合S={(x1,y1),(x2,y2),…,(xn,yn)},2.如果n2,则返回(x1,y1)和(x2,y2)之间的距离,算法结束;3.如果n3,则返回(x1,y1)、(x2,y2)和(x3,y3)之间的最小距离,算法结束;4.划分:m==S中各点x坐标的中位数;5.d1 = 计算{(x1,.
2021-06-20 00:07:22 574
原创 两种检索算法
问题写出两种检索算法:在一个排好序的数组T[1…n]中查找x,如果x在T中,输出x在T的下标j;如果x不在T中,输出j=0.解析2.1顺序查找:遍历数组2.2二分查找:首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。设计4. .
2021-06-19 23:59:45 130
原创 Floyd算法求解各个顶点的最短距离
问题 用Floyd算法求解下图各个顶点的最短距离。写出Floyd算法的伪代码和给出距离矩阵(顶点之间的最短距离矩阵)解析任意节点i到j的最短路径两种可能:直接从i到j;(不可能)从i经过若干个节点k到j。map(i,j)表示节点i到j最短路径的距离,对于每一个节点k,检查map(i,k)+map(k,j)小于map(i,j),如果成立,map(i,j) = map(i,k)+map(k,j);遍历每个k,每次更新的是除第k行和第k列的数。3. 设计距离矩阵:void floyd.
2021-06-19 23:56:33 408
原创 使用Dijkstra算法求由顶点a到顶点h的最短路径
对于下图使用Dijkstra算法求由顶点a到顶点h的最短路径,按实验报告模板编写算法。解析8个顶点、11条边,输入以下数据:8 11a b 1b d 2c a 2d c 1e d 2d f 8f e 2e g 2g f 3h f 2g h 3设计[核心伪代码]void dijkstra(int u){memset(dis, inf, sizeof(dis));//把dis数组附最大值int start = u;//先从源点搜索book[start]
2021-06-19 23:54:00 1545
原创 Prime算法与Kruskal算法构造最小生成树
Prime算法与Kruskal算法构造最小生成树的过程问题Prim算法,它是从点的方面考虑构建一颗MST(Minimum Spanning Tree,最小生成树),大致思想是:设图G顶点集合为U,首先任意选择图G中的一点作为起始点a,将该点加入集合V,再从集合U-V中找到另一点b使得点b到V中任意一点的权值最小,此时将b点也加入集合V;以此类推,现在的集合V={a,b},再从集合U-V中找到另一点c使得点c到V中任意一点的权值最小,此时将c点加入集合V,直至所有顶点全部被加入V,此时就构建出了一颗M
2021-06-19 23:51:15 352
原创 算法论文文献一般查找方法,以PSO算法为例
针对一般文献,可使用综合性学术搜索引擎或数据库,如:谷歌学术搜索:scholar.google.com(国内访问需要翻墙)Scopus引文数据库:https://www.scopus.com/search针对特定出版社和期刊文献,可在出版社及期刊网址搜索。几个主要的综合性出版社: IEEE:ieeexplore.ieee.org Elsevier: www.sciencedirect.com Springer: www.springerlink.com ACM: dl.acm.org
2021-04-20 18:59:48 1321
原创 Junit单元测试 IDEA
单元测试是一名开发者必备的基础技能,今天上了使用JUNIT做单元测试的课,记录一下所学。(本人菜鸟,欢迎大佬指出错误)一、创建项目,springboot的记得选择springWeb,会自动带上相关的Test的Jar包。建好java空项目创建目录entity包下的Student,以及相关方法Dao层,添加数据给service添加测试类,鼠标光标移动到类名,按下Ctrl+Shift+TService层,记得注入Dao层开始测试勾选需要测试的方法,断言测试没有问题单元
2021-03-29 23:21:30 255
原创 Java 正则表达式
前言:正则表达式(regular expression,简写为 regex) 是一个字符串,用来描述匹配一个字符串集合的模式。对于字符串处理来说,正则表达式是一个强大的工具。可以使用正则表达式来匹配、替换和分割字符串。字符字符描述B指定字符B\xhh十六进制值为oxhh的字符\uhhhh十六进制值为oxhhhh的Unicode字符\ttab\n换行\r回车\e转义字符类逻辑操作符边界匹配符量词...
2020-12-15 15:14:27 91
原创 Java 集合框架(链表、集合、映射),适合Java初学者
本文参考自我的Java老师,详情看代码注释,有写得不明白的地方欢迎留言,有错误地方欢迎大佬批评指正目录结构Cat类是共用的,在不同的框架会相对应的更改一、链表List链表是一种有序集合,也称为序列。常用的有ArrayList和LinedList1.0 Catpackage connection.List;public class Cat{ private String name; private int age; //无参构造 public Cat(){}
2020-12-08 19:39:23 288 2
原创 关于抽象类与接口
1、前言:1、总的来说,抽象类就是一种特殊的类,这种类不能被实例化,就是说你不能通过这个类new一个新的对象,它只能由其派生类(子类)去重写。2、抽象类之所以有抽象这两个字,是因为抽象类里边的方法是没有方法体的,只有方法的声明。3、接口就是更加特殊的抽象类,这个特殊之处,就是本文所要探索的内容。4、另外,本人是菜鸟,如果有错误的地方还请大佬指出。5、关于本菜鸟对于抽象类存在的好处的理解,现阶段下我只是觉得它可以让你的思路更清晰。因为首先要把你的类的声明写出来,在逻辑方面更加清爽。2、区别(1)
2020-12-01 17:43:42 156
原创 本菜鸡对于Java多态的理解
1、前提条件:(1)继承(2)重写(3)向上转型(父类型的引用指向子类实例对象)2、通俗理解:在同一种方法中,传入不同的参数,得到不同的结果,是为多态。3、实现:(1)不同的子类对父类的同一种方法给出不同的实现(2)夫类型的引用指向子类实例对象上代码首先,使用构造函数传参(四个类位于同一个包下)爷爷类父类子类测试类输出额,好像也挺好理解的,那分析一下输出吧输出分为三个部分第一部分:由于之前定义了一个爷爷类的figure对象,而且该对象指向的实例对象是父类,又由于父类R
2020-11-17 16:26:30 261 4
原创 node、npm、cnpm、vue cli 的安装,配置,都集中在这里了
如果原本有下载node,可以把它先卸载,然后,点击这个网址下载(很快的)https://cdn.npm.taobao.org/dist/node/v14.14.0/node-v14.14.0-x64.msi这个网址下载的node,可以自动配置环境变量,省下一大推事儿。接下来,下载cnpm,提高速度何乐而不为呢?在cmd,记得是用管理员身份打开,输入 npm install -g cnpm --registry=https://registry.npm.taobao.org查一下版本用cn
2020-10-25 19:50:27 313 5
转载 转载:MySQL 报错1055
今天在刷mysql题目的时候,遇到了1055报错,找到了一篇可以解决问题的文章,特意记录一下本文的来源是 https://blog.csdn.net/qq_37253891/article/details/99731476设置sql_mode 可以通过修改配置文件的方式设置sql_mode,这样在数据库重启之后sql_mode的值也不会改变。首先找到my.ini文件。在这里插入图片描述 打开该文件,在 [mysqld] 下面加上:我这里是只去掉了ONLY_FULL_GROUP_BY。
2020-10-18 22:19:44 136
原创 IDEA项目上传与更新github具体操作步骤
一、上传1、进入file>>setting2、搜索git首先要下载并且安装git,这一步请小伙伴们自己百度相关教程3、登录GitHub账号4、建立一个本地git仓库(即项目名称)项目地址,点击之后会文件名称变红色,表示未上传到github5、开始上传到本地仓库继续commit左下角显示项目成功部署,完成本地部署6、上传到github分享成功二、更新1、点击绿色的√2、commit一下就可以了右击项目文件夹,先pull一下,为以后多人
2020-10-02 16:36:35 1885 2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人