
计算机算法
半痴半醉半天真
这个作者很懒,什么都没留下…
展开
-
回溯法之装载问题(初级)
问题描述:求解简单装载问题。设由一批集装箱要装上一艘载重量为W的轮船,其中编号为i(0<=i<=n-1)的集装箱的重量为wi。现要从n个集装箱中选出若干个装上轮船,使它们的重量之和达到最高但不超过W。 回溯法:明显的深度优先搜索策略,可以理解为迪杰斯特拉算法走迷宫。 #include<iostream> using namespace std; class Loading { friend int MaxLoading(int w[], int c, int n); priv原创 2021-12-10 21:33:37 · 1888 阅读 · 0 评论 -
分治法求解最小和第二小元素
递归函数 void Found(int a[], int l, int r, int& min1, int& min2)//递归函数 { if (l==r) {//原数组并没有改变,通过左右标记位置来实现数组序列的划分 if (a[l] < min1)//比最小的还小 { min2 = min1; min1 = a[l]; } if ((a[l] > min1) && (a[l] < min2))//处于两者之间 min2 =原创 2021-10-23 17:31:52 · 886 阅读 · 0 评论