首页 > 代码库 > js:数据结构笔记12--排序算法(2)
js:数据结构笔记12--排序算法(2)
高级排序算法:(处理大数据:百万以上)
- 希尔排序:是插入排序的优化版;
- 首先设置间隔数组,然后按照每个间隔,分别进行排序;
- 如第一个间隔为5,首先a[5]与a[0]进行插入排序;然后a[6]和a[0],a[1]进行插入排序,直到最后一个;
- 然后换下一个间隔值,直到所有间隔值排序完(当间隔值为1时,就是一般的插入排序);
- 效果:
首先在类中添加间隔数组:this.gaps = [5,3,1];然后添加函数:function shellsort() { for(var g = 0; g < this.gaps.length; ++g) { for(var i = this.gaps[g]; i < this.dataStore.length; ++i) { var temp = this.dataStore[i]; for(var j = i; j >= this.gaps[g] && this.dataStore[j - this.gaps[g]] > temp; j -= this.gaps[g]) { this.dataStore[j] = this.dataStore[j - this.gaps[g]]; } this.dataStore[j] = temp; } } }
demo:
js:数据结构笔记12--排序算法(2)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。