ホームページ  >  記事  >  バックエンド開発  >  古典的なアルゴリズムの学習 - クイック Sort_PHP チュートリアル

古典的なアルゴリズムの学習 - クイック Sort_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-12 08:54:401080ブラウズ

古典的なアルゴリズム学習 - クイックソート

クイックソートはおそらく筆記面接で最も一般的に使用されるアルゴリズムであり、すべての面接官はそれを非常に好みます。 O(N*logN) であるいくつかのソート方法の中でソート効率が高いため、分割統治法や再帰法もよく使用されます。サンプルコードは https://github.com/chenyufeng1991/QuickSort にアップロードされました

アルゴリズムの基本的な考え方は次のとおりです:

(1) まず、シーケンスから基本番号として数値を取得します (通常は最初の数値を選択します)。

(2) 分割プロセス。この番号より大きい番号が右側に配置され、この番号以下の番号が左側に配置されます。

(3) 各区間の数値位置が 1 つだけになるまで、つまり、左の境界の添字が右の境界の添字と等しくなるまで、左と右の区間に対して 2 番目のステップを繰り返します。

簡単な説明は次のとおりです:

1.i= L、j=R、参照番号は a[i]、保存します;

2.j--、後ろから前に向かって小さい番号を探し、見つかったらその番号を a[i] に入れます。

3.i++、それより大きい数値を前から後ろに探し、見つけたらこの数値を a[j] に入力します。

4. i==j になるまでステップ 2 と 3 を再帰的に実行し、最後に参照番号を a[i] に入力します。

具体的なコードの実装は次のとおりです:

リーリー

http://www.bkjia.com/PHPjc/1119561.html

www.bkjia.com

tru​​e

技術記事古典的なアルゴリズムの学習 - クイック ソート クイック ソートはおそらく筆記面接で最も一般的に使用されるアルゴリズムであり、すべての面接官はそれを非常に好みます。いくつかの並べ替え方法では、並べ替え効率は O(N*logN) です...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。