From fa9607b7494bbab507f815ff10cfac17a98c7b5c Mon Sep 17 00:00:00 2001 From: noobcodemaker <97865095+noobcodemaker@users.noreply.github.com> Date: Mon, 23 Oct 2023 04:19:29 +0800 Subject: [PATCH] Update permutations_problem.md (#864) * Update permutations_problem.md * Update permutations_problem.md --------- Co-authored-by: Yudong Jin --- docs/chapter_backtracking/permutations_problem.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/chapter_backtracking/permutations_problem.md b/docs/chapter_backtracking/permutations_problem.md index e98f405fd..a7c2d5b2a 100644 --- a/docs/chapter_backtracking/permutations_problem.md +++ b/docs/chapter_backtracking/permutations_problem.md @@ -87,8 +87,8 @@ 请注意,虽然 `selected` 和 `duplicated` 都用作剪枝,但两者的目标是不同的。 -- **重复选择剪枝**:整个搜索过程中只有一个 `selected` 。它记录的是当前状态中包含哪些元素,作用是避免某个元素在 `state` 中重复出现。 -- **相等元素剪枝**:每轮选择(即每个开启的 `backtrack` 函数)都包含一个 `duplicated` 。它记录的是在遍历中哪些元素已被选择过,作用是保证相等元素只被选择一次。 +- **重复选择剪枝**:整个搜索过程中只有一个 `selected` 。它记录的是当前状态中包含哪些元素,作用是防止 `choices` 中的任一元素在 `state` 中重复出现。 +- **相等元素剪枝**:每轮选择(即每个调用的 `backtrack` 函数)都包含一个 `duplicated` 。它记录的是在本轮遍历(即 `for` 循环)中哪些元素已被选择过,作用是保证相等的元素只被选择一次。 下图展示了两个剪枝条件的生效范围。注意,树中的每个节点代表一个选择,从根节点到叶节点的路径上的各个节点构成一个排列。