ソートアルゴリズムの長所と短所

著者: Charles Brown
作成日: 2 2月 2021
更新日: 9 5月 2024
Anonim
アルゴリズム上級① 5章1節「バブルソート(Bubble Sort)」
ビデオ: アルゴリズム上級① 5章1節「バブルソート(Bubble Sort)」

コンテンツ

リスト内のアイテムのセットを注文することは、プログラミングで頻繁に行われる作業です。多くの場合、人間はこのタスクを直感的に実行できます。ただし、コンピュータプログラムはそれを完了するために正確な命令シーケンスに従う必要があり、そのシーケンスはアルゴリズムと呼ばれます。順序付けアルゴリズムは、まとまりのないアイテムのリストを所定の順序で配置するために使用される方法です。順序付け順序はキーによって決定されます。効率とパフォーマンスの点で異なる並べ替えアルゴリズムがいくつかあります。このタイプのいくつかの既知の重要なものには、バブルソート、選択ソート、挿入ソート、クイックソートがあります。

バブルソート

バブルソートは、アイテムのリスト全体が順番になるまで、順序が正しくない隣接要素を繰り返し交換します。このようにして、項目は値に応じてリスト内で変動し、最大の(昇順ソートの場合)は各反復の最後に終わりに行きます。


このアルゴリズムの主な利点は、その実装が簡単で知られていることです。さらに、バブルソートでは、一時的なストレージを使用せずに要素が場所を変更されるため、必要なスペースが最小限になります。主な欠点は、リストに多くのアイテムが含まれていると、良い結果が表示されないことです。これは、このタイプのソートでは、ソートされるn個の要素ごとにn²の処理ステップが必要になるためです。したがって、バブルソートは学術教育には適していますが、実際のアプリケーションには適していません。

選択ソート

選択ソートは、項目のリストを繰り返し検索し、一度に1つの要素を選択して、それをシーケンスの正しい位置に配置します。

選択ソートの主な利点は、短いリストでうまく機能することです。さらに、これは場所の順序付けアルゴリズムであるため、元のリストを保存するために必要なものを超える一時的な保存は必要ありません。主な欠点は、大きなリストでの効率が低いことです。バブルソートと同様に、n要素ごとにn²ステップ数が必要です。さらに、そのパフォーマンスは、並べ替え処理前のアイテムの最初の順序によって簡単に影響を受けます。このため、この選択タイプは、ランダムな順序の要素がほとんどないリストにのみ適しています。


挿入ソート

挿入ソートはリストを繰り返しスキャンし、毎回、無秩序なシーケンスのアイテムを正しい位置に挿入します。

挿入によるソートの主な利点は、小さなリストで優れたパフォーマンスを示すことに加えて、その単純さです。これは場所の順序付けアルゴリズムであるため、必要なスペースは最小限です。欠点は、他の並べ替えアルゴリズムと同じように機能しないことです。 n²ステップが機能する必要があるため、挿入ソートも大きなリストではうまく機能しません。ただし、項目数が少ないリストでは特に便利です。

クイックソート

クイックソートは、分割征服の原則に基づいて機能します。まず、ピボット要素に基づいてアイテムリストを2つのサブリストに分割します。最初のサブリストのすべての要素はピボットよりも小さくなるように配置され、2番目のサブリストのすべての要素はピボットよりも大きくなるように配置されます。リスト全体が編成されるまで、結果のサブリストに対して同じパーティション化および編成プロセスが繰り返し実行されます。


クイックソートは、アイテムの大きなリストで適切に機能するため、効率が大幅に向上するため、一部の人には最適なソートアルゴリズムと見なされています。現場で注文することにより、追加の保管スペースも必要ありません。それが示すわずかな不利な点は、その最悪のパフォーマンスが上記の他のアルゴリズムの平均パフォーマンスに似ていることです。ただし、この最悪のケースは非常にまれであることに注意することが重要です。より一般的には、クイックソートは、あらゆるサイズのリストを整理する最も効率的で広く使用されている方法を生成します。

多くの人が奇跡的な化合物であると考え、重曹は家庭で多くの用途があります。しかし、日常のアプリケーションが他の物質との化学反応に基づいていることに驚くでしょう。他の一般的な成分と混ぜて秘密を発見してください。その過程でいくつかの洗浄剤、医薬品、レシピを作成することに加えて、さまざまな化学的特性を体験します。カップに重曹を少し入れます。小さな気泡に注意してください。これは、重炭酸ナトリウムの分子が水に...

犬の肺虫の症状

Frank Hunt

5月 2024

イヌ肺虫は、消化管ではなく犬の肺に住む感染性寄生虫です。ペットプレイスのウェブサイトによると、キャピラリア、フィラロイド、パラゴニマスなど、いくつかの種類の寄生虫が肺に感染する可能性があります。肺寄生虫は、犬が環境内の幼虫(卵)を吸入したり、カタツムリやナメクジを食べた後に発生します。これらの感染症は、慢性的な咳のような不快な症状を引き起こします。蔓延を治療するには薬が必要です。BBCニュースのウ...

シェア