JavaScriptでの挿入ソート

javaでの挿入ソート

javaでの挿入ソート

JavaScriptでの挿入ソートの概要

ソートは、プログラマが学ぶために選択されたプログラミング言語に関係なく、コンピュータサイエンスでの旅を始めるために学ぶ重要な概念の一つです。 ソートは、昇順または降順のいずれかでソートすることにより、より速く便利な方法で検索したいターゲットデータを見つけるのに役立ちます。

ソートアルゴリズムは、要素を並べ替えるために使用されます。 ソートの方法と要素をソートするためのアプローチに基づいてソートアルゴリズムには多くの種類があり、それぞれの種類には長所と短所があります。

フリーソフトウェア開発コース

Web開発、プログラミング言語、ソフトウェアテスト&その他

このブログでは、理解しやすく実装しやすい一般的なソートである挿入ソートに焦点を当てます。

JavaScriptの挿入ソートとは何ですか?

挿入ソートは、データリスト内の各要素を左から右方向に一つずつソートすることにより、小さなデータリストで最適なアルゴリズムを理解しやすい、シンプ これは、現在の値をソートされている同じデータリスト内の他の値と比較する比較ソートとも呼ばれます。 これは、データリスト内の各要素を正しい順序で配置する反復的なアプローチに従います。

アルゴリズムのソートに時間がかかるほど、その性能は悪く、データをソートするために別のアルゴリズムを検討する必要があると言われています。 挿入ソートの時間の複雑さはO(n2)であるか、最悪の場合のシナリオでデータリストをソートするために2次時間を実行します。 これは一般的にはあまり効果的ではなく、大きなリストには使用しないでください。 しかし、通常、より小さなリストではquicksortやmergesortなどの高度なアルゴリズムよりも優れています。

挿入ソートは、ほとんどの場合、バブルソートや選択ソートなどの他の二次ソートアルゴリズムよりも効率的です。 最良のシナリオでは、timeはO(n)またはlinearであり、入力配列がすでにソートされている場合に発生します。 平均して、挿入ソートの実行時間は2次のままです。

JavaScriptでの挿入ソート

以下の例では、配列データ構造に格納されているデータをソートし、そのsortメソッドを使用してアルゴリズムを実装せずにデータをソートす

例–挿入ソートアルゴリズム

コード:

<!DOCTYPE html>
<html>
<body>
</body>
<script>
// Declaring unsorted data and storing it in array data structure
var dataArray = // Function - Insertion Sort Algo.
function insertSort(unsortedData) {
for (let i = 1; i < unsortedData.length; i++) {
let current = unsortedData;
let j;
for(j=i-1; j >= 0 && unsortedData > current;j--) {
unsortedData = unsortedData}
unsortedData = current;
}
return unsortedData;
}
// print sorted array
console.log(insertSort(dataArray));
</script>
</html>

出力:

JavaScriptでの挿入ソート-1.1

説明: アルゴリズムでは、2つのforループを実装しており、外側のforループは配列要素を反復処理し、内側のforループは配列要素を値の昇順でソートするために使用 現在の変数は配列の現在の値を保持し、変数jは配列の現在のインデックス位置よりも小さい1つの値に設定されます。 現在の要素(current)がj番目の位置(unsortedData)の配列値よりも小さいかどうかをチェックし、それがtrueの場合はそれらの値をソートします。

反復1–現在(96) :

イテレーション2-電流(5) :

イテレーション3–カレント(42) :

イテレーション4-電流(1) :

イテレーション5-現在(6) :

イテレーション6-電流(37) :

イテレーション7-現在(21) :

外側のforループの反復は、最小の要素を左側に移動したいので、現在の要素が左側の要素よりも小さいかどうかを比較しているため、1番目のインデッ

ソートの種類

データのソートに使用されるアルゴリズムの種類には、データのソートに対するアプローチにおける以下の概念またはアイデアが含まれます:

  • 比較対非比較ベースの戦略、
  • 反復対再帰実装、
  • 分割征服パラダイム(これまたはそれ)、
  • ランダム化アプローチ。

いくつかの例を考えてみましょう:

1。 Merge sortは、配列内の要素をソートするために分割統治アプローチを使用します。

2. 挿入ソート、バブルソートは比較ベースのソートです。

タイプ

データをソートすると、複雑な問題に対する最適解を考え出すことが容易になります。 例えば,

  • 特定の値の検索、
  • 最小値または最大値の検索、
  • 一意性のテストと重複の削除、
  • 特定の値が出現した回数のカウントなど。

結論

この記事では、挿入ソートの定義とその時間の複雑さ、およびそのアプローチに基づいたさまざまなソートアルゴリズムタイプについて説明しました。 さまざまなソートアルゴリズムを研究することで、特定の状況やユースケースでより適しているものを特定することができ、データをより速い速度でソートするのに役立ちます。

おすすめ記事

これはJavaScriptでの挿入ソートのガイドです。 ここでは、javascriptの挿入ソートとその型についてそれぞれ例を挙げて説明します。 詳細については、次の記事を参照してください–

  1. JavaScriptのパターン
  2. JavaScriptのCase文
  3. JavaScriptの条件文
  4. JavaScriptオブジェクト
  5. C++での挿入ソート|実装方法は?
0 株式

コメントを残す

メールアドレスが公開されることはありません。