最初の 3 章の内容は特に難しいものではなく、ほぼ基本的な概念です。本書の第 4 章は「帰納、再帰、単純化」と呼ばれ、その 1 つです。私たちが目にする初期のアルゴリズムのアイデアについて説明します。まず、これら 3 つの概念のいくつかを説明しましょう:
1. リダクション法とは、特定の問題を別の問題に変換することを指します。一般的に言えば、私たちはより困難な問題を変換する傾向があります。未知の問題を、より単純な既知の問題に変換します。 (問題を単純化します)
2. 帰納法は、特定のラージ オブジェクト クラスの読み取りに対して特定のステートメントが真であるかどうかを証明するために使用されます。まず、特定の基本的な状況下で真であることを証明し、次に、オブジェクトが「次の」オブジェクトに伝達されることを証明します。 (高校で遭遇する数学的帰納法や上級数学の帰納法もこれに似ています)
3. 再帰的方法は主に関数の自己呼び出しに使用されます。たとえば、「この世で恐怖そのものほど恐ろしいものはない」とか、「大きな魚は小魚を食べ、小さな魚はエビを食べる」などです。
まず、削減方法の例について説明します。
-数値のリストから、互いに最も近いが同一ではない (2 つの数値間の絶対差が最小となる) 2 つの数値を見つけたいと考えています。
最も単純なアイデアは、二重ループを使用して数値を 1 つずつ減算し、絶対値を取得してそのたびに現在の最小値と比較できるということです。最終的に、求めた 2 つの数値を確実に見つけることができます。次のようにコードを記述します:
#この問題を分析できます。絶対値の差が最小である 2 つの数値を探しているのは、1 つの面で隣接する 2 つの数値である必要があります。次元数 axis.number の場合、隣接する 2 つの数値を減算するだけで済みます。
一般的に、プログラミングの基礎がない場合、この本を入門チュートリアルとして使用することはお勧めできませんが、基礎を持っている場合は、改善の教材として使用することをお勧めします。
以上が「Pythonアルゴリズムチュートリアル」はいかがですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。