This commit is contained in:
krahets
2024-04-28 22:35:59 +08:00
parent f986ae3c8c
commit f748af6aa4
34 changed files with 588 additions and 136 deletions
@@ -538,7 +538,7 @@ comments: true
<p align="center"> 圖 13-7 &nbsp; 重複排列 </p>
那麼如何去除重複的排列呢?最直接地,考慮藉助一個雜湊,直接對排列結果進行去重。然而這樣做不夠優雅,**因為生成重複排列的搜尋分支沒有必要,應當提前識別並剪枝**,這樣可以進一步提升演算法效率。
那麼如何去除重複的排列呢?最直接地,考慮藉助一個雜湊集合,直接對排列結果進行去重。然而這樣做不夠優雅,**因為生成重複排列的搜尋分支沒有必要,應當提前識別並剪枝**,這樣可以進一步提升演算法效率。
### 1. &nbsp; 相等元素剪枝
@@ -554,7 +554,7 @@ comments: true
### 2. &nbsp; 程式碼實現
在上一題的程式碼的基礎上,我們考慮在每一輪選擇中開啟一個雜湊 `duplicated` ,用於記錄該輪中已經嘗試過的元素,並將重複元素剪枝:
在上一題的程式碼的基礎上,我們考慮在每一輪選擇中開啟一個雜湊集合 `duplicated` ,用於記錄該輪中已經嘗試過的元素,並將重複元素剪枝:
=== "Python"