ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScriptでのHillソートの詳しい説明

JavaScriptでのHillソートの詳しい説明

韦小宝
韦小宝オリジナル
2018-03-14 14:08:451882ブラウズ

この記事では JavaScript での Hill ソートについて説明します。JavaScript での Hill ソートについて知らない場合、または JavaScript での Hill ソートに興味がある場合は、この記事を見てみましょう。 !

JavaScript でのヒル ソート

ヒル ソートは、挿入ソートのより効率的な実装です。挿入ソートとは異なり、遠くにある要素を最初に比較します。ヒルソートの核心は区間シーケンスの設定にあります。間隔シーケンスは、事前に設定することも、動的に定義することもできます。区間シーケンスを動的に定義するアルゴリズムは、『Algorithms (4th Edition)』の共著者である Robert Sedgewick によって提案されました。ここでは、この方法を使用しました

JavaScript コードの実装

function shellSort(arr) {  
    var len = arr.length,  
        temp,  
        gap = 1;  
    while(gap < len/3) {          //动态定义间隔序列  
        gap =gap*3+1;  
    }  
    for (gap; gap > 0; gap = Math.floor(gap/3)) {  
        for (var i = gap; i < len; i++) {  
            temp = arr[i];  
            for (var j = i-gap; j >= 0 && arr[j] > temp; j-=gap) {  
                arr[j+gap] = arr[j];  
            }  
            arr[j+gap] = temp;  
        }  
    }  
    return arr;}

以上がこの記事の内容です。あまり詳しくない場合は、両方を自分で実装することで簡単にマスターできます

関連する推奨事項:

JS Hill ソートとクイック ソートの実装方法

以上がJavaScriptでのHillソートの詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。