算法设计与分析
有理想的懒羊羊
这个作者很懒,什么都没留下…
展开
-
用回溯法解决0-1背包问题
回溯法解决0-1背包问题回溯法的有几个点需要注意:如何建立解空间树如果进行剪枝是否需要达到最优先来看一下题目:然后我们上代码:#include<iostream>using namespace std;#pragma warning(disable:4996)int best_select_array[10] = { 0 };int weight_array[10] = { 0 };int value_array[10] = { 0 };int get_all原创 2020-06-04 16:42:48 · 3497 阅读 · 0 评论 -
贪心算法解决TSP问题
利用贪心问题解决TSP问题整体思路用的最近点策略,也就是说第一次以原点为起点,对其他点挨个遍历,找到最短的边对应的终点就是我们找的点,也是下一回遍历的起点。(当然,每次得到的终点以及最开始的原点,只能使用一次)#include<cstdio>#include<stdlib.h>constexpr int max_length = 10; //编译时就能确定的常量struct stack { //构造栈 int* pre, * ord; int length;原创 2020-05-17 12:01:46 · 2268 阅读 · 0 评论 -
TSP问题(利用动态规划法)
TSP问题TSP问题是什么?TSP问题是指旅行家要旅行n个城市,要求各个城市经历且仅经历一次然后回到出发城市,并要求所走的路线图最短。题目带权图的代价矩阵无穷3675无穷2364无穷2675无穷算法设计思路待补充源代码#define _CRT_SECURE_NO_WARNINGS#include<iostream...原创 2020-05-01 22:54:29 · 1448 阅读 · 0 评论 -
C++求数组子集
C++求数组子集本文的写作缘由是最近遇到了编写代码解决TSP问题,其中涉及到了求数组的子集,尽管我可以按照题目中给出的数组自己手动构造子集,但是我觉得那样得来并不是很踏实,还是想要写一个程序来更灵活的获取数组所有子集。举例输入:{0,1,2}输出:{ },{0},{1},{2},{1,2},{1,3},{2,3},{1,2,3}开始的时候我从网上查了很多,发现有很多种方法去求子集...原创 2020-05-01 20:12:56 · 4779 阅读 · 0 评论