回溯
不务正业的土豆
知行合一 止于行善
展开
-
迷宫问题
问题描述: 无,详见其他人的文章代码:package test;public class Maze { static int count=0; public static void main(String[] args) { int maze[][]={ {1,1,1,1,1,1},原创 2017-04-07 20:01:58 · 238 阅读 · 0 评论 -
N皇后问题
一、问题描述: 在n×n格的棋盘上放置彼此不受攻击的n个皇后。按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。n后问题等价于再n×n的棋盘上放置n个皇后,任何2个皇后不妨在同一行或同一列或同一斜线上。输入: 给定棋盘的大小n (n ≤ 13) 输出: 输出有多少种放置方法。代码:package BackTrack;import java.ut原创 2017-04-06 20:59:20 · 491 阅读 · 0 评论 -
回溯-子集问题
#include <iostream> //算法框架二 using namespace std; int s[4]={3,5,7,9}; int x[4];//记录元素状态 int N=4; int count=0; void print(){ count++; for(int j=0;j<N;j++) { if(x[j]==1)//如果取了第i个元素原创 2017-04-25 22:24:22 · 328 阅读 · 0 评论 -
回溯-全排列问题
#include <iostream> using namespace std; //算法框架二 int x[6]={3,5,7,9}; int N=4; void print() { for(int i=0;i<N;i++) cout<<x[i]<<" "; cout<<endl; } void swap(int *a,int i,int j) { int te原创 2017-04-25 22:25:18 · 585 阅读 · 0 评论 -
回溯-01背包问题
这里再简单写一下问题要求: 给定n中物品和一个容量为c的背包,物品i的重量为Wi,其价值为Vi,0-1背包问题是如何选择装入背包的物品(物品不可分割),使得装入背包的物品的价值为最大。1.题目分析:考虑到每种物品只有2 种选择,即装入背包或不装入背包,并且物品数和背包容量已给定,要计算装入背包物品的最大价值和最优装入方案,可用回溯法搜索子集树的算法进行求解。2.算法设计: a. 物品有n种,背包容原创 2017-04-25 23:42:54 · 447 阅读 · 2 评论