バブルソートは、隣接する要素のペアを繰り返し比較し、間違った順序で存在する場合は位置を交換するという考えに基づいています。
例:
参照:HackereArth
挿入ソートは、入力要素からの1つの要素が各反復で消費され、正しい位置、つまりソートされた配列に属する位置を見つけるという考えに基づいています。
各反復でソートされた配列を成長させることにより、入力要素を繰り返します。現在の要素をソートされた配列の最大値と比較します。現在の要素が大きい場合、それはその場所に要素を残し、次の要素に移動します。これは、ソートされた配列内のすべての要素を現在の要素よりも大きいすべての要素にシフトすることによって行われます。
例:
参照:HackereArth
Merge Sortは、各サブリストが単一の要素で構成され、ソートされたリストに生じる方法でそれらのサブリストを融合するまで、リストをいくつかのサブリストに分解するという考えに基づいた分割統合アルゴリズムです。
アイデア:
留められていないリストをサブリストに分割し、それぞれに要素を含みます。 2つのシングルトンリストの隣接するペアを取り、それらをマージして2つの要素のリストを形成します。これで、サイズ2のリストに変換されます。取得した1つのソートされたリストまでプロセスを繰り返します。合併のために2人のサブリストを比較している間、両方のリストの最初の要素が考慮されます。昇順で並べ替えながら、値が低い要素は、ソートされたリストの新しい要素になります。この手順は、両方の小さなサブリストが空になり、新しい結合されたサブリストが両方のサブリストのすべての要素を構成するまで繰り返されます。
例:
参照:Hackerearth、Geeksforgeeks
クイックソートは、1つの要素をピボット要素として選択し、その周りの配列を分割するという考えに基づいた分割整理アプローチに基づいています。
空間の複雑さを減らし、マージソートで使用される補助配列の使用を削除します。アレイでランダムピボットを選択すると、ほとんどの場合に時間の複雑さが改善されます。
例:
参照:Hackerearth、Geeksforgeeks
選択ソートアルゴリズムは、アンソート部分から最小要素(昇順を考慮)を繰り返し見つけて最初に配置することにより、配列をソートします。アルゴリズムは、特定の配列に2つのサブアレイを維持します。
選択ソートのすべての反復では、非オルタントサブアレイからの最小要素(昇順を考慮して)が選択され、ソートされたサブアレイに移動されます。
例:
スタックは、最初のアウト(LIFO)原理の最後に続く動的なデータ構造です。スタックに挿入された最後のアイテムは、最初に削除されたものです。
要素の挿入と削除
スタックには、要素の挿入と削除に制限があります。要素は、スタックの一方の端から上部からのみ挿入または削除できます。上部の要素は、上部要素と呼ばれます。要素の挿入と削除の操作は、それぞれpush()とpop()と呼ばれます。
スタックの上部要素が削除された場合、スタックが空ではない場合、前の上部要素のすぐ下の要素がスタックの新しい上部要素になります。
たとえば、トレイのスタックでは、トレイを上部に置いて置き換えない場合、2番目のトレイは自動的にそのスタックの上部要素(トレイ)になります。
enqueueとdequeue。 Enqueueとは、キューに追加することを意味します。 Dequeueとは、キューから取り外すことを意味します。
参照:Hackerearth、Geeksforgeeks