就简单背包问题(背包一)和四染色问题
简单的回溯问题可以有以下这个模型
int trying = 0; do { while( 满足条件,可以进栈 ) { 进栈 设置尝试的新值:简单的分有两种 1、如简单背包的:物品互斥,则trying=trying + 1;
2、如四染色问题:颜色不互斥,则trying = 0; } if( 栈“满 ”) { 循环输出结果 设置尝试的新值 trying = stack[top] + 1; top--; } else if( “尝试”出界,即要出栈) { 出栈并设置新值 trying = stack[top] + 1; top--; } else { 这个是尝试没出界,只是不满足条件 trying++; } }while(栈!= 空 && trying != max);
原文:http://www.cnblogs.com/coralyms/p/4367175.html