バックトラッキングアルゴリズム: 組み合わせ問題を解決しましょう!

バックトラッキングアルゴリズム: 組み合わせ問題を解決しましょう!

[[379493]]

バックトラッキングアルゴリズムをほとんど忘れてしまいましたか?組み合わせ問題を解く方法をまだ覚えていますか?ハハハハ

バックトラッキング アルゴリズムは、実際にはブルート フォース検索です。ブルート フォース検索であるなら、なぜバックトラッキングを使用する必要があるのでしょうか。それは、ブルート フォース検索で解決できる問題もあり、これより良い方法がないからです。

2 つの整数 n と k が与えられた場合、1 ... n 内の k 個の数値のすべての可能な組み合わせを返します。

この問題を解決するためにネストされた for ループを使用する場合、n が 100、k が 50 であれば、50 層の for ループが存在することになります。この時点で、単純なブルート フォースは機能しないことがわかります。

ここでバックトラッキング アルゴリズムが登場します。

バックトラックアルゴリズムで再帰を使用して、for ループのカスケードとネストを実行します (k 層の for ループを開くと理解できます)

各再帰で for ループがネストされている場合、再帰によって多層ネストされたループの問題を解決できます。

私の記事「バックトラッキング アルゴリズム: 組み合わせ問題の解決!」でも、バックトラッキング 3 部作について説明しました。この方法によれば、バックトラッキング アルゴリズムは難しくないことがわかります。

問題リンク: https://leetcode-cn.com/problems/combinations/

バックトラッキング アルゴリズムのテンプレートは次のとおりです。

  1. void バックトラッキング(パラメータ) {
  2. if (終了条件) {
  3. 結果を保存します。
  4. 戻る;
  5. }
  6.  
  7. for (select: 現在のレイヤーセット内の要素 (ツリー内のノードの子の数はセットのサイズです)) {
  8. 処理ノード。
  9. backtracking(パス, 選択リスト); // 再帰
  10. バックトラック、処理結果の取り消し
  11. }
  12. }

この記事はWeChatの公開アカウント「Code Thoughts」から転載したもので、以下のQRコードからフォローできます。この記事を転載する場合は、Code Thoughts の公開アカウントにご連絡ください。

<<:  目録:2021年1月の人工知能分野における資金調達活動のリスト

>>:  2021年に最も役立つ顔認識ソフトウェア9選をチェック

ブログ    
ブログ    
ブログ    

推薦する

...

2022 年の 9 つの新しいテクノロジー トレンドと雇用機会

1. 人工知能(AI)と機械学習人工知能 (AI) は過去 10 年間で大きな注目を集めてきましたが...

美容業界に参入しよう! AIはフェイスリフト手術も可能

この記事は公開アカウント「Reading Core Technique」(ID: AI_Discov...

...

...

...

...

...

機械翻訳から読心術まで、AIは人類のバベルの塔を再建できるのか?

[[183536]]聖書の旧約聖書創世記には、人類が団結して天国に通じるバベルの塔を建てたという話...

...

WEF: 2023 年のトップ 10 新興テクノロジー

世界経済フォーラム(WEF)は毎年、世界経済と社会に大きな影響を与える可能性のあるトップイノベーショ...

2020 年に台頭する AI と機械学習の 6 つのトレンド

人工知能ソリューションの市場は急速に成長を続けており、数百億ドルの収益をもたらしています。調査会社I...

モバイルアプリケーションでディープラーニングを加速するにはどうすればよいでしょうか?この記事を読めば分かるだろう

現在、ディープラーニング技術を使用するモバイルアプリケーションは、通常、すべての DNN コンピュー...

セマンティックAIとデータ管理の5つのトレンド

1. グラフデータベースとナレッジグラフが2022年に主流になる グラフ データベースが 2022 ...