- 博客(21)
- 收藏
- 关注
原创 0-1背包问题(动态规划算法)
0-1背包问题(动态规划算法)文章目录0-1背包问题(动态规划算法)一、思路一、思路我们直接从一个实例开始。有五件商品,如下表,vi代表它的重量,pi代表它的价值,背包容量为13。第一步,初始化备忘录表。当背包容量为0时:P[i,0]=0;当没有可选商品时:P[0,c]=0。第二步,确定计算顺序。(也可从左到右、从下到上)第三步,根据递推公式填表。(现在我们结合下图二维表来理解)i=1时,P[1,c]这行表示只有物品1可选。P[1,1]位置:c=1,v[1]=10,c<
2021-11-16 18:19:15
2621
原创 最长公共子序列(动态规划)
最长公共子序列(动态规划)文章目录最长公共子序列(动态规划)一、思路一、思路在寻找最长公共子序列的过程中,我们要构建一个二维数组c[i][j],来记录数组X和Y中元素比较的结果。比较时,有两种可能:可能一:可能二:在开头我们已经知道,二维数组c[i][j]用来记录数组X和Y中元素比较的结果,那么当数组X或Y长度为0时,最长公共子序列为0,所以当 i=0或j=0时,c[i,j]=0。(c[i,0]=c[0,j]=0)综上所述,就有整体的递推公式:在比较过程中,我们采用Z字形顺序:
2021-11-15 18:36:31
463
原创 最大子段和(动态规划算法)
最大子段和(动态规划算法)文章目录最大子段和(动态规划算法)一、思路二、伪代码三、C++代码四、输入实例一、思路D[i]表示从i开始的最大字段和。(但我们不是从前往后找字段结束位置)根据递推公式,我们可知要想求得D[i],就必须知道D[i+1],所以我们从前往后计算。如下图:以i=12开始的子段和D[12]=X[12]=-1,该子段结束位置Rec[12]=i=12;当i=11时,D[11+1]<0,所以D[11]=X[11]=7,Rec[i]=i=11;当i=10时,D[10+1]&g
2021-11-15 15:03:10
13960
3
原创 01.Java基础入门
01.Java基础入门文章目录01.Java基础入门一、安装JDK二、配置环境变量三、编写第一个Java程序一、安装JDK1.附上JDK11的网 盘 链 接,友友们也可以在官网自行下载。链接:https://pan.baidu.com/s/1AnWqxtSinhIyPqIWU7OJcw提取码:19082.安装JDK11双击安装包点击“下一步”选择安装目录,这个很重要,之后JDK环境变量配置用得上,下图选择的安装目录为D:\jdk11点击“下一步”,显示安装进度安装完成,点击“关闭
2021-10-31 12:22:55
127
原创 编写一个模拟超市购物程序。
编写一个模拟超市购物程序。购物时,如果购物者要购买的商品在超市中有,则提示“购物者买到了某商品”;如果没有所需的商品,则提示“购物者所需某商品无货”。import java.util.*;class Product{ String nameProduct; void setName(String x){ nameProduct=x; } String getName(){ return nameProduct; }}clas
2021-04-01 19:39:59
2412
原创 标题创建实体类商品,包含属性:商品名称,商品价格,包含2个属性的构造函数
标题创建实体类商品,包含属性:商品名称,商品价格,包含2个属性的构造函数创建实体类用户,包含属性:用户名,余额,包含2个属性的构造函数创建实体订单,包含属性:唯一的下单用户,若干商品,包含2个属性的构造函数提供getter/setter方法创建测试类,创建主函数,在主函数中创建1个有余额99元的你自己假设:方便面,5.5元;火腿肠,2.2元为以上用户创建一个包含2包方便面,4根火腿肠的订单,共6个商品的订单创建独立的余额计算方法,接收订单对象,将订单中用户,购买了订单中商品后的余额,计算返
2021-04-01 09:53:58
2410
1
原创 二叉排序树的操作和ASL
二叉排序树的创建、插入、删除和查询(给出查找成功和不成功时的ASL)#include <iostream>#include <queue>#include <stack>using namespace std;typedef struct BSTNode{ int data; struct BSTNode *lchild,*rchild;}BSTNode,*BSTree;void charu(BSTree &T,int e){
2020-12-22 21:09:41
1746
原创 利用邻接表实现无向图的广度优先遍历
利用邻接表实现无向图的广度优先遍历#include <iostream>#include <queue>using namespace std;#define MVNum 100typedef struct ArcNode{ int adjvex; struct ArcNode *nextarc;}ArcNode;typedef struct VNode{ int data; ArcNode *firstarc;}VNode,AdjList[MVNum];
2020-12-14 13:49:27
1484
原创 蓝桥杯 入门训练 Fibonacci数列 C
蓝桥杯 入门训练 Fibonacci数列#include <stdio.h>#define MOD 10007int main(){ long n,i; int a1=1,a2=1,t,sum=0; scanf("%ld",&n); for(i=0;i<n;i++) { sum=a1%MOD; t=a2; a2=(a2+a1)%MOD; a1=t; } printf("%d\n",sum); return 0
2020-07-06 20:17:48
271
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人