ホームページ > バックエンド開発 > C++ > 回文を形成するための最小挿入数を見つける C プログラム

回文を形成するための最小挿入数を見つける C プログラム

WBOY
リリース: 2023-09-05 17:13:05
転載
1355 人が閲覧しました

回文を形成するための最小挿入数を見つける C プログラム

回文は、その逆に等しい文字列です。文字列が与えられた場合、その文字列を回文にするために必要な、挿入される任意の文字の最小数を見つける必要があります。 3 つのアプローチを見ていきます。最初は再帰的アプローチ、次にこのソリューションをメモ化し、最後に動的プログラミング アプローチを実装します。

再帰的メソッド

リーリー ###出力### リーリー

時間と空間の複雑さ

挿入ごとに選択を行うため、上記のコードの時間計算量は O(2^N) です。N は指定された文字列のサイズです。

上記のコードの空間計算量は O(N) です。つまり、再帰呼び出しで使用されます。

記憶方法

リーリー ###出力### リーリー

時間と空間の複雑さ

計算結果を保存するため、上記のコードの時間計算量は O(N^2) です。

ここでは余分なスペースを使用しているため、上記のコードのスペース複雑さは O(N^2) です。

動的プログラミング手法

リーリー ###出力### リーリー

時間と空間の複雑さ

ここではネストされた for ループを使用しているため、上記のコードの時間計算量は O(N^2) です。

ここでは余分なスペースを使用しているため、上記のコードのスペース複雑さは O(N^2) です。

###結論は###

このチュートリアルでは、特定の文字列を回文にするために必要な最小挿入数を見つける 3 つのメソッドを実装しました。再帰的メソッドを実装し、それをメモ化しました。最後に、表形式手法または動的プログラミング手法を実装しました。

以上が回文を形成するための最小挿入数を見つける C プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート