ホームページ  >  記事  >  バックエンド開発  >  PHP アルゴリズムがランダムな思考に遭遇する_PHP チュートリアル

PHP アルゴリズムがランダムな思考に遭遇する_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-20 11:15:251275ブラウズ

PHP は本当に優れており、必要な機能を簡単に実装できます。正直に言うと、BS プログラムの開発に関しては、PHP と JSP の 2 つが最適な言語だと思います。私は以前、Java を勉強したことがありますが、非常に完成度の高い OOP ですが、多くの利点がありますが、必要なものが多すぎます。この点では PHP の方がはるかに優れていますが、多くの PHPER がアルゴリズムの重要性を無視しているのはまさにこのためです。今日は本題に戻り、アルゴリズムについて説明しましょう。

昨日、プロジェクトの開発中に問題が発生しました。これは、同様のコードを研究した結果、効率は言うまでもなく、スターが見えたので、書きたいと思いました。この部分を処理する関数は、まず第一に、それが効率的である必要があり、次に、それが私のニーズを満たすことができる必要がありますが、私はそれを理解できませんでした。 CSDN に投稿したヘルプ記事:

おおよそ次のような文字列を再結合する関数の作成を手伝ってください。

要件は次のとおりです:
タイプ1: A、B、C
予想される組み合わせは次のとおりです: AB、AC、BC
タイプ 2: A、B、C、D (結果の長さは、長さが 2 または 3 であるなど、パラメーターによって制御できます)予期される組み合わせは次のとおりです: AB、AC、AD、BC、BD、CD または ABC、BCD、ACD、ABD
タイプ 3: A、B、C、D、E (結果の長さは、次のようなパラメーターによって制御できます)長さは 2、3 または 4)
予期される組み合わせは次のとおりです: AB、AC、AD、AE、BC、BD、BE、CD、CE、DE または ABC、BCD、CDE、ABD、ABE、ACD、ACE、BDE 、BCE、ADE または ABCD、BCDE、ABCE、ACDE、ABDE
4 番目のタイプ: A、B、C、D、E、F (結果の長さはパラメーターによって制御できます。たとえば、長さは 2 です。 3;4 または 5) 予想される組み合わせは次のとおりです: 上記の組み合わせに基づいて推定できるため、ここでは引用しません

上記の要件は非常に単純に見えますが、書き始めると、再帰などを使用することを考えていたが、よく考えた後、それは実現不可能だと思い、まったく見当がつかないことに気づきました。同様の方法で、誰かが C 言語で関数を書いていることだけを見つけましたが、それを実行するために C 言語のコードを PHP に変更すると、期待した効果とは大きく異なりました。結局、CSDN で貴重な 200 ポイントを費やして解決してもらうしかありませんでした。 PHP バージョンの Buzhu "xuzuning" では 3 つの答えが得られました、汗!!! 10 万回のループ テストで最適なソリューションが選択されました。コードは次のとおりです。 リーリー 理解するのに時間がかかりました。誰かが書いた 7 層のループと比べて、何倍効率が向上したかわかりません。
PHP は急速な発展を遂げましたが、アルゴリズムを改善する必要があるようです。何かお勧めの本はありますか? ..


http://www.bkjia.com/PHPjc/440203.html
www.bkjia.com
tru​​e
http://www.bkjia.com/PHPjc/440203.html

技術記事

PHP は本当に優れており、必要な機能を簡単に実装できます。正直に言うと、BS プログラムの開発では PHP と JSP が最適な言語だと思います。 .





声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。