今天正式进入回溯。看了看文章介绍,回溯并不是很高效的算法,本质上是穷举操作。代码形式较为固定。
第一题为组合问题,用树形结构模拟,利用回溯算法三部曲,确定终止条件与单层逻辑,写出如下代码。
不难发现,当i达到一定值的时候,剩余元素无论怎么取也无法取到符合要求的组合了,因此我们可以通过剪枝操作来提高代码效率。具体操作就是减小i的右区间。
今天正式进入回溯。看了看文章介绍,回溯并不是很高效的算法,本质上是穷举操作。代码形式较为固定。
第一题为组合问题,用树形结构模拟,利用回溯算法三部曲,确定终止条件与单层逻辑,写出如下代码。
不难发现,当i达到一定值的时候,剩余元素无论怎么取也无法取到符合要求的组合了,因此我们可以通过剪枝操作来提高代码效率。具体操作就是减小i的右区间。