算法
paidaxinga
初出茅庐事事新,千番学问刚入门。
展开
-
0-1背包问题(java实现)
前言给你一个可装载重量为W的背包和N个物品,每个物品有重量和价值两个属性。其中第i个物品的重量为wt[i],价值为val[i],现在让你用这个背包装物品,最多能装的价值是多少?代码实现public int knapsack(int W,int N,int[] wt,int[] val){ int[][] dp = new int[N+1][W+1]; //重量为0时最大价值为0 for(int i = 0;i <= N;i++){ dp[i][0] = 0原创 2021-09-27 20:15:39 · 247 阅读 · 0 评论 -
算法笔记——求活动安排问题(贪心法)
问题设有n个活动的集合E={1,2,。。。,n},其中每个活动都要求使用同一个资源,而在同一时刻只能有一个活动能使用这一资源。每一活动都有使用该资源的起始时间si和完成时间fi,且si<fi,如果选择了活动i,则在半开区间[si,fi)内占用资源。根据完成时间进行贪心选择策略,完成时间早的优先安排。对于输入的n个活动起止时间用贪心法给出活动安排方法,使得在该时间段内能安排尽量多的活动。代码#include<stdio.h>bool a[11];int ActiveManage(i原创 2020-10-24 17:13:28 · 365 阅读 · 0 评论 -
《算法设计与分析》王红梅 第二版部分习题
分治法、动态规划法、贪心法、回溯法、分支限界法。原创 2020-10-24 17:05:22 · 5518 阅读 · 0 评论 -
算法笔记——求最长公共子序列(动态规划法)
求最长公共子序列#include<stdio.h>#define Max 50int c[Max][Max];int CommonOrder(int m, int n, char x[],char y[],char z[]) { for (int i = 0; i <= m; i++) { for (int j = 0; j <= n; j++) { if (i == 0 || j == 0) { c[i][j] = 0; } else原创 2020-10-24 16:12:26 · 369 阅读 · 0 评论 -
算法笔记——0-1背包问题(动态规划法)
0-1背包问题#include<stdio.h>int C=10;int vl[10][10];int max(int a,int b){ if(a>=b) return a; else return b;}int KnapSack(int w[],int v[],int x[],int n){ int i,j; for(i=0;i<=n;i++) vl[i][0]=0; for(j=0;j<=C;j++) vl[0][j]=0;原创 2020-10-24 15:58:32 · 183 阅读 · 1 评论 -
学习笔记——选第K大(分治法)
选第K大(分治法)基于快速排序原创 2020-04-20 21:19:10 · 296 阅读 · 0 评论 -
学习笔记——快速排序(分治法)
快速排序(分治法)递归排序原创 2020-04-20 21:09:58 · 217 阅读 · 0 评论