日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

插入排序---希尔插入排序算法(Javascript版)

發(fā)布時間:2023/12/19 java 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 插入排序---希尔插入排序算法(Javascript版) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

取一個小于n的整數(shù)作為第一個增量,把序列分組。所有距離為增量的倍數(shù)的元素放在同一個組中。先在各組內(nèi)進行直接插入排序;然后,取第二個增量(第二個<第一個)重復(fù)上述的分組和排序,直至所取的增量=1,即所有元素放在同一組中進行直接插入排序為止。

?

一般的初次取序列的一半為增量,以后每次減半,直到增量為1。

?

以下代碼在nodejs中執(zhí)行通過。

function shellInsertSort(elements, di){//從增量的所在位置開始for(var i = di; i < elements.length; i++){//升序if(elements[i] < elements[i-di]){//取出增量位置的元素作為被插入元素(哨兵)var guard = elements[i];var j = i - di;elements[i] = elements[j];//向前,將增量的倍數(shù)的位置作為同一組比較及進行直接插入法while(j >= 0 && guard < elements[j]){elements[j+di] = elements[j];j -= di;}//插入elements[j + di] = guard;}} }function shellSort(elements){//增量為序列的一半var di = parseInt(elements.length / 2);while(di >= 1){shellInsertSort(elements, di);//每次減半,最后增量必須為1di = parseInt(di / 2);} }var elements = [10, 9, 8, 7, 6, 5]; console.log('before: ' + elements); shellSort(elements); console.log(' after: ' + elements);

?

效率:比直接插入法快。但不是一種穩(wěn)定的排序算法,關(guān)鍵取決于增量的選擇,初次通常選取序列長度的一半。

(轉(zhuǎn)帖):希爾排序時間復(fù)雜度的下界是n*log2n。希爾排序沒有快速排序算法快 O(n(logn)),因此中等大小規(guī)模表現(xiàn)良好,對規(guī)模非常大的數(shù)據(jù)排序不是最優(yōu)選擇。但是比O(n^2)復(fù)雜度的算法快得多。并且希爾排序非常容易實現(xiàn),算法代碼短而簡單。 此外,希爾算法在最壞的情況下和平均情況下執(zhí)行效率相差不是很多,與此同時快速排序在最壞的情況下執(zhí)行的效率會非常差。專家們提倡,幾乎任何排序工作在開始時都可以用希爾排序,若在實際使用中證明它不夠快,再改成快速排序這樣更高級的排序算法. 本質(zhì)上講,希爾排序算法是直接插入排序算法的一種改進,減少了其復(fù)制的次數(shù),速度要快很多。 原因是,當n值很大時數(shù)據(jù)項每一趟排序需要的個數(shù)很少,但數(shù)據(jù)項的距離很長。當n值減小時每一趟需要和動的數(shù)據(jù)增多,此時已經(jīng)接近于它們排序后的最終位置。 正是這兩種情況的結(jié)合才使希爾排序效率比插入排序高很多。
在希爾排序開始時增量較大,分組較多,每組的記錄數(shù)目少,故各組內(nèi)直接插入較快,后來增量di逐漸縮小,分組數(shù)逐漸減少,而各組的記錄數(shù)目逐漸增多,但由于已經(jīng)按di-1作為距離排過序,使文件較接近于有序狀態(tài),所以新的一趟排序過程也較快。

?

總結(jié)

以上是生活随笔為你收集整理的插入排序---希尔插入排序算法(Javascript版)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩在线观看视频一区二区 | 亚洲精品国偷拍自产在线观看蜜桃 | 青青草国产在线 | 精品动漫3d一区二区三区免费版 | 亚洲玖玖爱 | 亚洲欧美日韩一区二区三区在线观看 | 成人午夜免费福利视频 | 久久久永久久久人妻精品麻豆 | 国产精品国产三级国产aⅴ9色 | 国产三级三级三级三级三级 | 美国成人av | 午夜男人网| 一级黄色免费大片 | 大黄网站在线观看 | 亚洲爆爽av | av在线中文 | 老熟妇高潮一区二区三区 | 女人高潮娇喘1分47秒 | 性色av一区二区三区四区 | youjizz欧美| 99re视频这里只有精品 | 久久久精品免费观看 | 麻豆导航| 另类av小说 | 一区二区成人精品 | 日本久久伊人 | 秋霞欧美一区二区三区视频免费 | 国产午夜精品免费一区二区三区视频 | 天天插天天插 | 精品视频一区二区三区 | 亚洲国产精品网站 | 欧美性猛交富婆 | 天天摸天天看 | 干美女av | 污片视频在线观看 | 中文在线第一页 | 青春草在线视频观看 | 欧美巨大乳 | 男人天堂综合网 | av中出在线| 国产一区二区激情视频 | 天天看a| 亚洲精品乱码久久久久久久 | 亚洲成人激情在线 | 久久久久久电影 | 天天干天天综合 | 免费一级特黄毛大片 | 国产日韩欧美精品在线 | 免费成人高清在线视频 | 又大又粗弄得我出好多水 | 国产免费视频一区二区三区 | 国产成人亚洲一区二区 | 蜜桃精品久久久久久久免费影院 | 亚洲激情影院 | 爱久久| 久久精品2 | av激情四射 | 国产一区二区欧美日韩 | 国产情侣激情 | 日本三级免费网站 | 国产精品91在线观看 | 伊人网在线免费观看 | 91成人破解版| 波多野结衣中文字幕在线播放 | 成人免费视频网站 | 欧美在线91 | 国语精品| 男人的天堂一级片 | 曰韩一级片| 欧美日比视频 | 超碰人人91| 永久免费在线 | 在线观看中文字幕视频 | 黑丝美女啪啪 | 夜夜狠狠擅视频 | 亚洲欧美中文字幕 | 色婷婷麻豆 | 91在线无精精品入口 | 色图在线观看 | 日韩欧美精品 | 九九福利| 精东影业一区二区三区 | 亚洲乱码国产乱码精品 | 少妇不卡视频 | 亚洲国产一区二区在线观看 | 久久精品免费看 | 黄色片网站免费看 | 日韩欧美在线一区二区三区 | 天天干网址 | 日本女人毛片 | 最新中文字幕在线 | 婷婷五综合| 蜜臀av性久久久久蜜臀aⅴ麻豆 | 一区二区三区四区欧美 | 网红福利视频 | 日本特级片 | 日韩电影在线观看一区二区 | 40到50岁中老年妇女毛片 | 天天干在线观看 |