Update permutations_problem.md (#864)

* Update permutations_problem.md

* Update permutations_problem.md

---------

Co-authored-by: Yudong Jin <krahets@163.com>
pull/877/head
noobcodemaker 1 year ago committed by GitHub
parent 0c470d19c8
commit fa9607b749
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -87,8 +87,8 @@
请注意,虽然 `selected``duplicated` 都用作剪枝,但两者的目标是不同的。
- **重复选择剪枝**:整个搜索过程中只有一个 `selected` 。它记录的是当前状态中包含哪些元素,作用是避免某个元素在 `state` 中重复出现。
- **相等元素剪枝**:每轮选择(即每个开启`backtrack` 函数)都包含一个 `duplicated` 。它记录的是在遍历中哪些元素已被选择过,作用是保证相等元素只被选择一次。
- **重复选择剪枝**:整个搜索过程中只有一个 `selected` 。它记录的是当前状态中包含哪些元素,作用是防止 `choices` 中的任一元素在 `state` 中重复出现。
- **相等元素剪枝**:每轮选择(即每个调用`backtrack` 函数)都包含一个 `duplicated` 。它记录的是在本轮遍历(即 `for` 循环)中哪些元素已被选择过,作用是保证相等元素只被选择一次。
下图展示了两个剪枝条件的生效范围。注意,树中的每个节点代表一个选择,从根节点到叶节点的路径上的各个节点构成一个排列。

Loading…
Cancel
Save