Part 1:什么是搜索?
搜索就是求出所有解的一种方法,有点像枚举法。但不是枚举法。
Part2:搜索与枚举的区别
普通搜索比枚举还慢。
例如:
石头剪刀布
枚举:6次
搜索:10次
但优化过的搜索会比枚举快很多。
例如:求只包含1 , 2 , 3三个数字且数码和为4的数。
枚举需要次,也就是81次
普通搜索要121次
而优化后的搜索运行次数锐减到了25次。
怎样优化呢?
原来,如果搜索到的结果的数码和4了,他就不需要继续搜索了,直接跳转到另外一条路径。
这就是搜索与枚举的区别:搜索能中断,枚举不能。
Part3:搜索的基本题型
搜索有3种基本题型,分别是可行性问题,计数性问题,最优性问题。
下面分享可行性问题的一道题:从A到B。
题面:
你 有一个数字 A,现在他想对 A 进行若干次如下操作,使其变成 B:
- 将 A 变为 A+4。
- 将 A 变为 10 * A + 7。
请计算是否存在可能的方法?
你去要处理 t 个这样的问题。
输入格式: