最長のサブシーケンスDAAは何ですか?
質問者:Blaine Fedder |最終更新日:2020年5月30日
カテゴリ:テクノロジーとコンピューティング人工知能
DAA-最長共通部分列
- サブシーケンス。シーケンスS = <s 1 、s 2 、s 3 、s 4 、…、 sn >を考えてみましょう。
- 共通のサブシーケンス。 XとYが有限の要素セット上の2つのシーケンスであると仮定します。
- 最長共通部分列。
- ナイーブな方法。
- 動的計画法。
- 分析。
- 例。
最長増加サブシーケンス(LIS)の問題は、サブシーケンスのすべての要素が昇順にソートされるように所定の配列の最長のサブシーケンスの長さを見つけることです。たとえば、{10、22、9、33、21、50、41、60、80}のLISの長さは6で、LISは{10、22、33、50、60、80}です。
さらに、最長共通部分列の時間計算量はどれくらいですか?上記の解の最悪の場合の時間計算量はO(2 ( m + n ) )です。最悪のケースは、XとYに共通のサブシーケンスが存在しない場合(つまり、LCSが0の場合)に発生し、各再帰呼び出しは2つの再帰呼び出しになります。 LCS問題は、重複するサブ問題を示します。
同様に、DAAのLCSとは何ですか?
最長共通部分列( LCS )特定のシーケンスのサブシーケンスは、一部の要素が省略された特定のシーケンスです。最長共通部分列問題において、我々は、XとYの最大長共通のサブシーケンスを見つけるために、二つの配列X =(X 1、X 2、X m)およびY =(Y 1、Y 2、Y n)と希望を与えられています
最小編集距離とは何ですか?
2つの文字列str1とstr2の間の最小編集距離は、str1をstr2に変換するために必要な挿入/削除/置換操作の最小数として定義されます。 str2をstr1に変換するために必要な操作の数として編集距離を計算することもできます。
23関連する質問の回答が見つかりました
メモ化は動的計画法ですか?
メモ化とは、以前に計算された結果をキャッシュし、同じ計算が再度必要になったときにキャッシュされた結果を返す最適化手法を表す用語です。動的計画法は通常、集計を使用して実装されますが、メモ化を使用して実装することもできます。
文字列にはいくつのサブシーケンスがありますか?
サブシーケンスの数は8、つまり2 ^ 3です。各サブシーケンスは、m個の要素のそれぞれを選択するか選択しないかを選択することによって定義されます。 m個の要素があり、それぞれに2つの可能な状態があるため、2 ^ mの可能性があります。シーケンスSがある場合、Sの最後に新しい要素xを追加するとどうなりますか?
文字列のサブシーケンスとは何ですか?
サブシーケンスは、残りの文字列文字の順序を変更せずに文字列の一部の文字を削除した後、文字列から生成されたシーケンスです。たとえば、文字列: "abc"がある場合、そのサブシーケンスは次のようになります:-"a"、 "b"、 "c"、 "ab"、 "ac"、 "bc"、 "abc"
LeetCodeはサブシーケンスですか?
LeetCode -サブシーケンスがあります。文字列sと文字列tが与えられた場合、sがtのサブシーケンスであるかどうかを確認します。文字列のサブシーケンスは、残りの文字の相対位置を乱すことなく、一部の文字を削除することによって元の文字列から形成される新しい文字列です。
文字列のすべてのサブシーケンスを見つけるにはどうすればよいですか?
説明:ステップ1:反復全体Stringステップ2上:反復文字列の末尾からリストステップ3にsubtringを追加異なるサブストリングを生成するために:異なるサブシーケンスを生成するために、上記から得られたサブストリングから落下k番目の文字。ステップ4:サブシーケンスがリストにない場合は、繰り返します。
LCSはどのように計算しますか?
一般に、長さnおよびmの任意の配列XとYのために、我々はXにその要素X 1を表し、n及びY 1〜X nと、それらのプレフィクスX 1、Y、M及び場合- Y mに1及びY 1 - 1、次に:If:x n = y。その後:LCS(X N、YのM)= LCS(X N - 1、Y M - 1)^ X N。 1及びY M - 1 - XのためのLCS n及びY mは短い配列のLCS、X Nを決定することを含むことに留意されたいです。
動的計画法におけるナップサック問題とは何ですか?
ナップサック問題は、組み合わせ論において非常に興味深い問題です。ウィキペディアを引用すると、「それぞれに重みと値があるアイテムのセットが与えられた場合、コレクションに含める各アイテムの数を決定して、合計の重みが以下になるようにします。与えられた制限に等しく、合計値は可能な限り大きくなります。」
連鎖行列乗算とは何ですか?
行列の連鎖乗積(または行列の連鎖順序問題、MCOP)は、動的計画法を使用して解決できる最適化問題です。行列のシーケンスが与えられた場合、目標はこれらの行列を乗算する最も効率的な方法を見つけることです。行列の乗算は結合法則であるため、多くのオプションがあります。
最長の共通プレフィックスをどのように見つけますか?
二分探索を使用した最長の共通プレフィックス
- 最小の長さの文字列を見つけます。
- (文字列の入力配列から)任意の1つの文字列に対してバイナリ検索を実行します。
- 最初に、low = 0とhigh = L-1を取り、ストリングを2つの半分(左(低から中)と右(中+ 1から高))に分割します。
動的計画法アルゴリズムとは何ですか?
動的計画法は、最適化問題を解くための最も強力な設計手法です。動的計画法は、アルゴリズム設計のパラダイムであり、最適化問題は、サブ問題の解決策を達成し、「最適化の原則」に現れることの組み合わせによって解決されます。
データ構造における欲張りアルゴリズムとは何ですか?
データ構造-欲張りアルゴリズム。広告。アルゴリズムは、特定の問題に対して最適なソリューションを実現するように設計されています。欲張りアルゴリズムのアプローチでは、決定は与えられたソリューションドメインから行われます。貪欲であるため、最適なソリューションを提供すると思われる最も近いソリューションが選択されます。
アルゴリズムの設計と分析におけるバックトラックとは何ですか?
バックトラッキングは、一度に1つずつソリューションを段階的に構築し、任意の時点で問題の制約を満たさないソリューションを削除することにより、問題を再帰的に解決するためのアルゴリズム手法です(ここでは、の任意のレベルに到達するまでに経過した時間
行列の連鎖乗積の時間計算量はどれくらいですか?
前と同じように、乗算する行列がn個ある場合、O(n 3 )時間の全体的な複雑さに対して、O(n 2 )コストと最適な行列のエントリのそれぞれを生成するのにO(n)時間がかかります。 O(n 2 )空間の。
最長共通部分列問題を解決するために使用できる方法は次のうちどれですか?
最長共通部分列問題を解決するために使用できる方法は次のうちどれですか?説明:再帰と動的計画法の両方を使用して、最長部分列問題を解決できます。 2.文字列「PQRSTPQRS」および「PRATPBRQRPS」について検討します。