この記事はWeChatの公開アカウント「JS Daily Question」から転載したもので、著者はHuihuiです。この記事の転載についてはJS Daily Question公式アカウントまでご連絡ください。 1. 何ですかソートは、プログラム開発において非常に一般的な操作です。任意のデータ要素のセットをソートした後、それらを特定のルールに従ってソートされた順序付けられたシーケンスに変換できます。 ソートアルゴリズムはアルゴリズムの一種であり、その適用範囲は非常に狭いです。ソートアルゴリズムを徹底的に習得することは、プログラム開発に大いに役立ちます。 ソートアルゴリズムの品質は、主に時間の複雑さ、空間の複雑さ、および安定性から測定されます。 時間の計算量と空間の計算量については、すでに説明しました。ここでは、主に安定性の定義について見ていきます。 安定性とは、ソートするレコードのシーケンス内に同じキーワードを持つレコードが複数ある場合、ソート後もこれらのレコードの相対的な順序が変更されないことを意味します。 つまり、元のシーケンスではr[i] = r[j]であり、r[i]がr[j]の前にあり、ソートされたシーケンスでもr[i]がr[j]の前にある場合、このソートアルゴリズムは安定していると呼ばれ、そうでない場合は不安定と呼ばれます。 2. それらは何ですか一般的なアルゴリズムソートアルゴリズムは次のとおりです。
バブルソートシンプルで直感的なソートアルゴリズム。ソートする配列を繰り返し処理し、一度に 2 つの要素を比較して、順序が間違っている場合はそれらを交換します。 考え方は次のとおりです。
選択ソート選択ソートは、シンプルで直感的なソート アルゴリズムです。また、交換ソート アルゴリズムでもあります。 どのようなデータが入力されても、時間の計算量は O(n2) です。そのため、データサイズが小さいほど良いです 唯一の利点は、追加のメモリストレージスペースを占有しないことです。 考え方は次のとおりです。 ソートされていないシーケンス内の最小(最大)要素を見つけ、ソートされたシーケンスの先頭に格納します。 残りのソートされていない要素から最小 (最大) の要素を探し続け、それをソートされたシーケンスの最後に配置します。 すべての要素がソートされるまで手順 2 を繰り返します。 挿入ソート挿入ソートはシンプルで直感的なソートアルゴリズムです これは、順序付けられたシーケンスを構築することによって機能します。ソートされていないデータの場合は、ソートされたシーケンス内で後ろから前へスキャンし、対応する位置を見つけて挿入します。 解決策は次のとおりです。
マージソートマージソートは、マージ操作に基づいた効果的なソートアルゴリズムです。 このアルゴリズムは、分割統治法の非常に典型的な応用です。 順序付けられたサブシーケンスをマージして、完全に順序付けられたシーケンスを取得します。つまり、最初に各サブシーケンスを順序付けし、次にサブシーケンスのセグメントを順序付けします。 解決策は次のとおりです。
クイックソートクイック ソートは、バブル ソート アルゴリズムの改良版です。基本的な考え方は、ソートするデータをソート パスを通じて 2 つの独立した部分に分割し、一方の部分のすべてのデータがもう一方の部分のすべてのデータよりも小さくなるというものです。 次に、このメソッドを使用して、データの 2 つの部分を個別にすばやく並べ替えます。並べ替えプロセス全体を再帰的に実行して、データ全体を順序付けられたシーケンスにすることができます。 解決策は次のとおりです。
3. 違い上記のソートアルゴリズムに加えて、シェルソート、ヒープソートなどの他のソートアルゴリズムもあります。 違いは以下の図に示されています。 参考文献
|
<<: AIと人間のバンドが初めてコラボしてアルバムをリリース
一日中懸命に働いた労働者たちは、疲れた体を引きずりながら家に戻り、ついに「解放された農奴が歌う」生活...
[[385336]] AI顔認識技術は人気歌手のコンサートから逃亡した犯人を捕まえるのに役立ち、AI...
人工知能は新しい時代の「電気」であると主張する人もいます。市場調査会社IDCのデータによると、AIハ...
[[431114]]当時流行した「インターネット+」を覚えている人はいるだろうか...「衣食住交通...
すべてはウォール・ストリート・ジャーナルが最近発表した米国上場企業のCEOの給与ランキングから始まっ...
新年が明けたばかりですが、新しい技術、新しい知識、新しいコンテンツが次々と登場し、新年早々も怠けるこ...
[[384337]]この記事はWeChatの公開アカウント「Xiaolangmazhida」から転...
[[260878]] 「当社は、個人データへのアクセスを必要としないマルチパーティデータコンピューテ...
Hyperion Research はハンブルクで毎年恒例の ISC HPC (ハイパフォーマンス ...
世界的な技術競争において、人工知能は他の追随を許さない世界的な技術革新の新たな局面において、人工知能...
[[252389]]人工知能囲碁プログラム「AlphaGo」が囲碁の世界チャンピオンを破って以来、人...
[[320126]] [51CTO.com クイック翻訳]ソフトウェア定義広域ネットワーク (SD-...
人工知能とロボット工学はテクノロジー分野に大きな変化をもたらしています。 20年前に人々が夢見ていた...