目录
*本章涉及递归思想,不会递归的人请先浏览递归算法https://blog.csdn.net/YoungHacker_dyz/article/details/126430662
搜索与回溯是计算机解题中常用的算法,很多问题无法根据某种确定的计算法则来求解,可以利用搜索与回溯的技术求解。回溯是搜索算法中的一种控制策略。它的基本思想是:为了求得问题的解,先选择某一种可能的情况向前探索,在探索过程中,一旦发现原来的选择是错误的,就退回一步重新选择,继续向前探索,如此反复进行,直至得到解或证明无解。
算法框架1:
int search(int k)
{
for(int i=1;i<算符种数;i++)
if(满足条件)
{
保存结果
if(到目的地) 输出解;
else search(k+1);//递归
恢复:保存结果前的状态{回溯一步}
}
}
算法框架2:
int search(int k)
{
if(到目的地)输出解;
else
for(int i=1;i<=算符