クイックソートはおそらく筆記面接で最も一般的に使用されるアルゴリズムであり、すべての面接官はそれを非常に好みます。 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.htmlwww.bkjia.com
true