
算法分析与设计
傻小菜
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
回溯算法——0-1背包问题
#include<bits/stdc++.h> #define NUM 100 using namespace std; int n; //物品的个数 int c; //背包的容量 int cw; //目前背包的容量 int cv; //目前背包内物品的价值 int bestv; //最大价值 //定义一个物品的结构体 struct Object{ ...原创 2020-01-18 20:36:05 · 271 阅读 · 0 评论 -
回溯算法——装载问题
问题:给定n个集装箱,要装上载重量为c的轮船,其中集装箱i的重量为w[i],求不超过轮船最大载重量的前提下,所能装的集装箱的最大重量。 注意:集装箱不可以分割 #include<bits/stdc++.h> #define NUM 100 using namespace std; int n; //集装箱的总数量 int c; //轮船的载重量 int ...原创 2019-10-14 20:44:01 · 696 阅读 · 0 评论 -
最大子段和的求解问题
采用分治策略求最大子段和的问题 /* * 一个数组中的最大子段和有三种情况 * 只有一个元素时,最大子段和就是这个元素 * 超过一个元素时,采用分治策略(递归),进行划分,递归求解 * 可能在中间值的左侧,也可能在右侧,也可能是跨过中间值 * 把这三种情况都列出来,然后最后比较这三种情况求得的子段和的大小 */ 求解方法: pac...原创 2019-09-11 17:22:36 · 211 阅读 · 0 评论 -
选择问题——分治
的题目:对于给定的包含n个元素的数组a[0:n-1],要求从中找出第k小的元素 输入: 对于每一组测试样例有两行,第一行是整数n和k,第二行是n个整数 输入样例: 第一组: 5 2 3 9 4 1 6 第二组:7 3 4 59 7 23 61 55 46 分析:采用快速排序的思想,将一组数通过轴值划分为两部分,根据第...原创 2019-09-17 20:07:36 · 1760 阅读 · 0 评论 -
中位数的计算
两种方法 1,排序法 2,分治策略——采用快速排序的思想 package 中位数; import java.util.Arrays; import java.util.Scanner; public class Mid_Num { /* * 有两种方法计算中位数 * 排序 * 分治 */ static int a[]=new int[1001]; public s...原创 2019-09-17 21:19:27 · 1305 阅读 · 0 评论