本个文档是针对本人算法课实验讲述的一些课程的个人代码,针对初学者实用性较强,简单易懂,并且算法体系完备,拥有完备的输入和输出。
2020-01-03 11:33:02 3.25MB 算法
1
试设计一个用回溯法搜索排列空间树的函数。该函数的参数包括结点可行性判定函数和上界函数等必要的函数,并将此函数用于解圆排列问题。 圆排列问题描述如下:给定n 个大小不等的圆c1 , c2 ,..., cn ,现要将这n 个圆排进一个矩形框中,且要求各圆与矩形框的底边相切。圆排列问题要求从n 个圆的所有排列中找出有最小长度的圆排列。例如,当n=3,且所给的3 个圆的半径分别为1,1,2 时,这3 个圆的最小长度的圆排列是1,2,1,其最小长度为2 + 4*sqr(2)。 编程任务: 对于给定的n个圆,编程计算最小长度排列。
2020-01-03 11:28:18 2KB 排列树
1
c++ 算法学习 用回溯法解决经典的N皇后问题。
2020-01-03 11:24:41 878KB c++ N皇后问题
1
【问题描述】 骑士巡游问题:从国际象棋棋盘上任意给定的方格开始移动骑士,相继地到达所有的64个方格,进入每个方格一次且仅进入一次。
2020-01-03 11:18:56 495KB 骑士巡游 马步问题 回溯法
1
Description 试设计一个用回溯法搜索子集空间树的函数。该函数的参数包括结点可行性判定函数和上界函数等必要的函数,并将此函数用于解0-1背包问题。 0-1 背包问题描述如下:给定n 种物品和一个背包。物品i的重量是wi,其价值为vi ,背包的容量为C。应如何选择装入背包的物品,使得装入背包中物品的总价值最大? 在选择装入背包的物品时,对每种物品i只有2 种选择,即装入背包或不装入背包。不能将物品i 装入背包多次,也不能只装入部分的物品i。 Input 输入由多组测试数据组成。 每组测试数据输入的第一行有2个正整数n和c。n是物品数,c是背包的容量。接下来的1 行中有n个正整数,表示物品的价值。第3 行中有n个正整数,表示物品的重量。 Output 对应每组输入,输出的2行是装入背包物品的最大价值和最优装入方案。 Sample Input 5 10 6 3 5 4 6 2 2 6 5 4 Sample Output 15 1 1 0 0 1
2020-01-03 11:17:35 2KB 0-1 Knapsack
1
由input.txt,output.txt,n皇后问题.cpp组成,纯c++编写。保证运行通过!
2019-12-22 20:10:10 1KB 回溯法解决n皇后问题
1
算法设计实验报告,包括:蛮力、动态规划、回溯、分支限界四种算法求解0/1背包问题的基本思想、时间复杂度分析,C++实现代码,运行结果截图,实验心得。
1
用回溯法解决旅行售货员问题 java语言实现
2019-12-21 21:58:16 2KB 旅行售货员 回溯
1
问题描述: 罗密欧与朱丽叶的迷宫。罗密欧与朱丽叶身处一个m×n的迷宫中,如图所示。每一个方格表示迷宫中的一个房间。这m×n个房间中有一些房间是封闭的,不允许任何人进入。在迷宫中任何位置均可沿8 个方向进入未封闭的房间。罗密欧位于迷宫的(p,q)方格中,他必须找出一条通向朱丽叶所在的(r,s)方格的路。在抵达朱丽叶之前,他必须走遍所有未封闭的房间各一次,而且要使到达朱丽叶的转弯次数为最少。每改变一次前进方向算作转弯一次。请设计一个算法帮助罗密欧找出这样一条道路。 编程任务: 对于给定的罗密欧与朱丽叶的迷宫,编程计算罗密欧通向朱丽叶的所有最少转弯道路。
1
问题描述 图G=(V,E)的一个团是图G的一个完全子图,即该子图中任意两个相异的顶点都有一条边相连。最大团问题就是要找出图G中顶点数最多的一个团。 基本要求 (1) 用回溯法来求解最大团问题。 (2) 用分支限界法来求解最大团问题。 测试数据 由读者给定若干连通图。 实现提示 本课程设计的实现主要包括以下主要过程: (1) 关于解的编码形式(对应顶点i 的变量x[i]=1当且仅当顶点i属于找到的最大团)。 (2) 设计合适的上界函数,即如何确定当前团最大顶点数的上界。
2019-12-21 21:54:51 3.15MB 最大团问题
1