回溯算法(又叫试探算法)
为了求得问题的解,先选择某一种可能情况进行试探,在试探过程中,一旦发现原来的选择的假设情况是错误的,就退回一步重新选择,继续向前试探,如此反复进行,直至得到解或者证明无解.
实例:生成彩票号码组合.
假设有一种彩票,每注由7个1-29的数字组成,且这7个数字不能相同,编写程序生成所有的号码组合.
Java代码描述:
public class Test { public static int MAXN = 7; //设置每一组彩票的位数 public static int NUM = 29; //设置组成彩票的数字 public static int[] num = new int[NUM]; public static int[] lottery = new int[MAXN]; public static void main(String[] args) { int i,j; for(i=0;i<NUM;i++){ //设置彩票各位数字 num[i] = i+1; } for(j=0;j<MAXN;j++){ lottery[j] = 0; } combine(NUM,MAXN); } public static void combine(int n,int m){ int i,j; for(i=n;i>=m;i--){ lottery[m-1] = num[i-1]; //保存一位数字 if(m>1){ combine(i-1,m-1); }else{ //如果m=1,输出一注号码 for(j = MAXN -1;j>=0;j--){ System.out.print(lottery[j]+" "); } System.out.println(); } } } }
运行结果:
以上程序结束后,将会列出所有可能出现的点数.此情景也可通过穷举实现.
相关推荐
在对土地集约利用评价过程中,存在着评价专家选择的问题以及AHP打分...利用改进的判断矩阵生成算法,对专家的判断矩阵进行一致性检验,解决可能存在的成对比较项目不一致的问题,为构建评价指标体系提供有效的支持。
针对粒子传播过程中因欠缺观测信息而导致退化现象和异常粒子,提出一种基于试探采样的自反馈目标跟踪算法。该算法在当前帧完成采样后向前试探采样粒子,并且反馈到当前帧,此举是利用未来帧提前采样形式把观测信息...
1.6.分治算法.wmv 1.5.递归算法.wmv 1.4.枚举(穷举)算法....1.8.试探法算法.wmv 1.7.贪婪算法.wmv 1.3.递推算法.wmv 1.2.算法的作用:猜价格游戏.wmv 1.1.编程的灵魂:数据结构.算法.wmv 3.1.层次关系结构:树(3).wmv
蜂群算法已被证明其效率高于多数传统优化算法,...该算法在整体更新阶段采用基于试探机制的粒子群算法,避免种群飞向错误的方向。采用多种不同类型的基准函数对改进算法进行测试,数值实验结果验证了该算法的有效性。
试探算法 模拟算法 动态规划 分支限界 4. 排序算法 冒泡排序(Bubble Sort) 选择排序(Selection Sort) 插入排序(Insertion Sort) 快速排序(Quick Sort) 希尔排序(Shell Sort) 归并排序(Merge Sort) 堆...
针对有效冗余阅读器消除算法(Efficient Redundant Reader Elimination,ERRE)存在对RFID网络拓扑结构要求高和需要设定用户自定义因子的不足,提出基于试探性消除策略的改进ERRE算法。该算法在ERRE算法的基础上加入...
1.8.试探法算法.wmv 1.9.模拟算法.wmv 1.10.算法的评价.wmv 2.1.最简单的结构:线性表(1).wmv 2.1.最简单的结构:线性表(2).wmv 2.2.先进先出结构:队列.wmv 2.3.后进先出结构:栈.wmv 3.1.层次关系结构:树(1).wmv ...
系统试探分配请求的资源给进程 4.系统执行安全性算法 第二部分:安全性算法 1.设置两个向量 (1).工作向量:Work=Available(表示系统可提供给进程继续运行所需要的各类资源数目 (2).Finish:表示系统是否有足够...
数据挖掘算法是根据数据创建数据挖掘模型的一组试探法和计算。 为了创建模型,算法将首先分析您提供的数据,并查找特定类型的模式和趋势。概念描述算法使用此分析的结果来定义用于创建挖掘模型的最佳参数。然后,...
银行家算法 含(源代码&执行文件&实验报告)
基于试探的变步长自适应粒子群算法.pdf
数据挖掘算法是根据数据创建数据挖掘模型的一组试探法和计算。 为了创建模型,算法将首先分析您提供的数据,并查找特定类型的模式和趋势。概念描述算法使用此分析的结果来定义用于创建挖掘模型的最佳参数。然后,...
数据挖掘算法是根据数据创建数据挖掘模型的一组试探法和计算。 为了创建模型,算法将首先分析您提供的数据,并查找特定类型的模式和趋势。概念描述算法使用此分析的结果来定义用于创建挖掘模型的最佳参数。然后,...
数据挖掘算法是根据数据创建数据挖掘模型的一组试探法和计算。 为了创建模型,算法将首先分析您提供的数据,并查找特定类型的模式和趋势。概念描述算法使用此分析的结果来定义用于创建挖掘模型的最佳参数。然后,...
数据挖掘算法是根据数据创建数据挖掘模型的一组试探法和计算。 为了创建模型,算法将首先分析您提供的数据,并查找特定类型的模式和趋势。概念描述算法使用此分析的结果来定义用于创建挖掘模型的最佳参数。然后,...
所谓回溯技术就是向人走迷宫一样,先选择一个前进方向尝试,一步步试探,在遇到死胡同不能再往前的时候就会退到上一个分支点,另选一个方向尝试,而在前进和回撤的路上都设置一些标记,以便能够正确返回,直到达到...
数据挖掘算法是根据数据创建数据挖掘模型的一组试探法和计算。 为了创建模型,算法将首先分析您提供的数据,并查找特定类型的模式和趋势。概念描述算法使用此分析的结果来定义用于创建挖掘模型的最佳参数。然后,...
安全状态判别算法: (1)设置Finish=(false,...,false) work=Available (2)循环查找满足下列条件的进程pi //最多循环n次 Finish[i]=false且Needi (3)若找到则 Finish[i]=true;work=work+Alloci; 转(2) (4)若...
聚类分析算法说明 9.2.基于试探的位置类别聚类算法 9.2.1 最邻近规则的试探法