今天学习了《栈与深搜》
什么是栈?
栈是一种基本数据结构。
是一种操作受到限制的线性表:只能在一端进行读写操作,这一端称为栈顶
深搜的空间复杂度较小,因为它只存储了从初始状态到当前
状态的一条搜索路径。但是,深搜找到的第一个解
不一定是最优解,要找最优解必须搜索整棵“搜索
树”。
以下是深搜的框架
void dfs(int dep,参数表);{
自定义参数;
if(当前是目标状态){
输出解或者作计数、评价处理;
}else
for(i = 1; i <= 状态的拓展可能数; i++)
if(第i种状态拓展可行){
维护自定义参数;
dfs(dep+1,参数表);
}
}