- 博客(13)
- 收藏
- 关注
原创 装载问题(01背包)
装载问题(01背包)问题分析设计#include<bits/stdc++.h>const int N = 1e3+10;using namespace std;int n,m,k;int w[N];int dp[N],pre[N][N];int main() { puts("Input the number of box and loading weight:"); cin>>n>>m; puts("Input the each
2021-06-21 21:35:53
112
原创 LCS与背包问题
LCS与背包问题问题动态规划中关于最长公共子序列 LCS 、完全背包的问题解析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 的最长公共子序列(3)xi ≠ yj,zk ≠ yj,那
2021-06-15 22:38:24
102
原创 最小生成树
最小生成树1. 问题如何求一个包含有原图所有n个结点的且所有边的代价和最小的极小连通子图。2.解析kruskal:Kruskal算法是基于贪心的思想得到的。首先我们把所有的边按照权值先从小到大排列,接着按照顺序选取每条边,如果这条边的两个端点不属于同一集合,那么就将它们合并,直到所有的点都属于同一个集合为止。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RCP8ioKR-1623764171439)(https://z3.ax1x.com/2021/05/17/g
2021-06-15 21:38:38
132
原创 最近对问题
最近对问题1.问题:给定平面上n个点,找出其中的一对点的距离,使得在这n个点的所有点对中,该距离为所有点对中最小的。2.分析[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-s9UuEUkL-1623763947899)(https://z3.ax1x.com/2021/06/15/2qUWHf.png)]当前的d1,d2都是两边各自的点的最近距离,但是没有考虑到两边的点相互配对的情况,即是点对一个在左边区域,一个在右边区域。可以用上面找到的d来限制配对.即是明显超过d
2021-06-15 21:32:42
101
原创 最短路径--floyd算法和Dijkstra算法
最短路径–floyd算法和Dijkstra算法Dijkstra算法#include<stdio.h>#include<stdlib.h>#define max 11000000000int a[1000][1000];int d[1000];//d表示某特定边距离int p[1000];//p表示永久边距离int i, j, k;int m;//m代表边数int n;//n代表点数int main(){ scanf("%d%d",&n,&am
2021-06-15 20:00:57
61
原创 二分归并排序算法
二分归并排序算法1.问题二分归并排序:对n个不同的数构成的数组A[1…n]进行排序,其中n=2^k2.解析二分归并排序算法算法步骤如下: (1) 分解:分解待排序的n个元素的数组成各具n/2个元素的两个子数组。 (2) 解决:使用归并排序递归地排序两个子序列。 (3) 合并:合并两个已排序的子序列以产生排序的答案。void Mergesort(int l,int r){ int mid = (l + r) >> 1; if(r - l + 1 &l
2021-06-15 19:15:44
952
原创 动态规划(投资问题)
动态规划(投资问题)一、问题描述:一般性描述:设m元钱,n项投资项目,函数fi(x)表示将x元投入第i项项目所产生的效益,i=1,2,···,n;问:如何分配这m元钱,使得投资总效益最高?组合优化问题:假设分配给第i个项目的钱数是xi,目标函数:max{f1(x1)+ f2(x2)+···+ fn(xn)};约束条件:x1+x2+x3+···+xn=m,xi∈n;[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NCY8uopg-1623723891072)(htt
2021-06-15 10:25:05
249
原创 检索算法线性查找和对分查找
问题:写出两种检索算法:在一个排好序的数组T[1…n]中查找x,如果x在T中,输出x在T的下标j;如果x不在T中,输出j=0.按实验模板编写,“分析”部分仅给出复杂度结果即可。解析:线性查找:从线性表的一端开始,逐个检查关键字是否满足给定的条件。若查找到某个元素的关键字满足给定条件,则查找成功,返回该元素在线性表中的位置。若已经查找到表的另一端,还没有查找到符合给定条件的元素,则返回查找失败的信息。对分查找:对分查找首先将查找键与有序数组内处于中间位置的元素进行比较,如果中间位置上的元素内的数值
2021-06-15 10:17:22
241
原创 分治策略找第K小元素
分治策略找第K小元素1.问题使用特定的分治策略去寻找无序数组中第 k小的元素。2.分析以此递归,直到剩余最后一个数,那个数就是第k小的数3.算法int Select(int a[],int l,int r,int k){ if (l==r) return a[l]; int i=l,j=r; int x = a[i]; while(i<j){ while(i<j && a[j]>=x) j--; a[i]=a[j]; while (i&
2021-06-15 10:06:05
1140
原创 eclipse连接GitHub
eclipse连接GitHub首先在eclipse中安装egit插件,可以直接在help->eclipse marketplace中进行搜索安装进行egit的配置,在window->perference->team->git->configuration中进行配置,填入github中的用户名在已有项目上右键team->share进行git本地仓库的新建在项目右键team->commit可以将项目中的改变提交到仓库中。选择要commit的文件,并输入co
2021-01-08 20:41:21
142
原创 Java接口
Java接口接口概念:(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。除非实现接口的类是抽象类,否则该类要定义接口中的所有方法。接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。另外,在 Java 中,接口
2021-01-08 20:40:32
79
原创 Java 多态
Java 多态多态是同一个行为具有多个不同表现形式或形态的能力。多态就是同一个接口,使用不同的实例而执行不同操作,如图所示:用最简单的一句话就是:父类型的引用指向子类型的对象。用一句比较通俗的话:同一操作作用于不同的对象,可以产生不同的效果。这就是多态。这句话很好理解:Person person = new Student(“张三”);但是这个多态有什么作用呢?而我们又为什么要是有多态呢?首先讲下封装和继承:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面,他把实现的细节影藏起来了,比
2021-01-08 20:40:10
75
原创 Java学习
Java学习之正则表达式正则表达式的作用Java中正则表达式常用字符实际中的应用正则表达式的作用正则表达式定义了字符串的模式。正则表达式可以用来搜索、编辑或处理文本。ps:正则表达式并不仅限于一种语言,但在不同语言中有细微的差别Java中正则表达式Java中的正则表达式主要调用java.util.regex*的package,使用String.matches()函数等进行匹配。常用字符字符说明^匹配输入字符串开始的位置$匹配输入字符串结尾的位置
2020-10-24 12:40:19
68
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人