ホームページ > バックエンド開発 > PHPチュートリアル > PHP クラシック アルゴリズム コレクション、PHP アルゴリズム コレクション_PHP チュートリアル

PHP クラシック アルゴリズム コレクション、PHP アルゴリズム コレクション_PHP チュートリアル

WBOY
リリース: 2016-07-12 09:04:57
オリジナル
804 人が閲覧しました

PHP クラシック アルゴリズムのコレクション、PHP アルゴリズムのコレクション

この記事では、いくつかのクラシックな PHP アルゴリズムを例とともに説明します。参考のために皆さんと共有してください。詳細は次のとおりです:

5人がリンゴを一束盗み、翌日その戦利品を山分けする計画を立てました。夕方、男が出てきて、すべての野菜と果物を5つの部分に分けましたが、余分なものがあったので、それを木の上の猿に投げて、最初に1/5を隠しました。意外なことに、他の4人も同じように考えていて、最初の人と同じように5つに分け、余った部分を猿に投げて1/5を奪いました。次の日、みんなで戦利品を分け、さらに5等分して、もう1つを猿に投げました。最後の人が分け前を獲得しました。質問: リンゴは何個ありますか?

リーリー

猿のグループが円形に並び、1、2、...、n に従って番号が付けられます。次に、1 番目から数え始め、m 番目まで数え、円の外に追い出し、後ろから数え始め、m 番目まで数え、追い出します...このようにして最後まで続けます。猿は一匹だけ残っており、その猿は王様と呼ばれています。このプロセスをシミュレートするには、m、n を入力し、最後の王の番号を出力するプログラミングが必要です。

リーリー

ハノイの塔 (ハノイの塔としても知られています) は、インドの古代の伝説です。世界を創造した神ブラフマーは神殿に 3 本のダイヤモンドの棒を残しました。最初の棒は 64 個の丸い金片で覆われ、他のものは他の棒よりも小さく積み重ねられていました。寺院では、僧侶たちが精力的に棒から棒へと一つずつ移動させていましたが、真ん中の棒は補助として使用できると規定されていましたが、一度に移動できるのは 1 本だけで、大きな棒は移動できませんでした。小さいものの上に置きます。答えを見つけるには、最後にあるプログラムを参照してください。 18446744073709551615という膨大な数(円盤を動かした回数)を前に、修道士たちが一生を費やしても金円盤の移動を完了することは不可能と思われる。

その後、この伝説はハノイの塔ゲームに発展しました:

1. A、B、C の 3 つの極があります。ポールAにはプレートがいくつかあります
2. プレートを 1 枚ずつ移動する場合、小さいプレートは大きいプレートの上にのみ積み重ねることができます
3. すべての皿をポール A からポール C に移動します

調査の結果、ハノイの塔の解決策は非常に簡単であることがわかりました。移動ルールに従って金のピースを一方向に移動するだけです:
例えば、ハノイの3次塔の動き: A→C、A→B、C→B、A→C、B→A、B→C、A→C

さらに、ハノイの塔問題もプログラミングにおける古典的な再帰問題です。

リーリー

PHP を使用してバブル ソートとクイック ソートのアルゴリズムを記述します。オブジェクトは配列にすることができます

リーリー

PHP を使用して逐次検索アルゴリズムと二分探索アルゴリズムを記述します。逐次検索では効率を考慮する必要があり、オブジェクトは順序付けされた配列にすることができます

リーリー

PHP組み込み関数を呼び出すことができ、汎用性のある2次元配列ソートアルゴリズム関数を作成します

リーリー

この記事が PHP プログラミングのすべての人に役立つことを願っています。

www.bkjia.com本当http://www.bkjia.com/PHPjc/1071392.html技術記事 PHP クラシック アルゴリズム コレクション、PHP アルゴリズム コレクション、この記事では、いくつかの PHP クラシック アルゴリズムを例とともに説明します。参考までに皆さんと共有してください。詳細は次のとおりです: 5 人がリンゴの束を盗んで翌日の準備をしました...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート