
回溯法
000000
「已注销」
这个作者很懒,什么都没留下…
展开
-
回溯法实现工作分配问题
#include<iostream>#define INF 65535using namespace std;class People {public: int *t;};class Task{public: People *p; int num; int bestt; int tempt; int *temp_step; int *best_step; int *min_each; bool *vis;p.原创 2020-12-25 19:53:29 · 309 阅读 · 0 评论 -
回溯法实现最小重量机器设计
#include<iostream>#define INF 65535using namespace std;class Shop{ //商店类public: double *w; //商店内每个物品的质量 double *v; //商店内每个物品的价格};class Tool{ //代组装机器类public: Shop *shop; //商店数组 int m; //商店个数 int num; //零件个数 int v.原创 2020-12-25 19:14:00 · 410 阅读 · 0 评论 -
回溯法解决TSP问题
#include<iostream>#define MAXSUM 100#define INF 65535using namespace std;class TSP{ //TSP类public: int bestv; //最优解即最短路径 int tempv; //当前路径长度 int node; //节点个数 int edge; //无向边条数 int adj[MAXSUM][MAXSUM]; //邻接矩阵存储无向边信息 .原创 2020-12-21 19:25:10 · 1202 阅读 · 0 评论 -
图的m着色问题 + 剪枝优化 + 优化剪枝图
优化原理:例:若按所标序号按1 到 7进行可行解的回溯发查找,其解的寻找难度或者递归的层数会很大,因为若按图示按顺序回溯时,2节点只受1节点控制,3节点只受2节点控制,4节点只受3节点控制...因此只有当到第6和第7节点时才能剪掉较多分支,而此时树的深度已经到达6~7层,已经是较大的计算量。解决思路:在此图中明显发现6,7节点控制的点数最多分别控制4个节点,而1,2,3,4控制3个节点,而选出6,7后,1节点因为被6,7约束,约束性增强,更易剪枝,以此类推选择2,3,4最后选择控制数原创 2020-12-19 16:34:45 · 1434 阅读 · 2 评论