javascript算法与数据结构
文章平均质量分 65
WEB_YH
一只会敲代码的猿
展开
-
计数排序
function countSort(list){ var maxlen = Math.max.apply(this,list)+1;//用来获得数组list中最大的数+1 var len = list.length;//获得list的长度 var b = new Array(len);//初始化输出数组B,长度与list相同 var c = new Array(原创 2017-05-27 23:11:15 · 400 阅读 · 0 评论 -
归并排序
在js中,采用的是自上而下的归并排序。 原理: 注:我们将每次经行合并排序的两个数组看成左右数组。左数组中的内容在原始数组中则在右数组的左侧。 第一步:将数组分割为数个一个内容为一组的数组。//这一步并不是我们所想的那样一下子把原始数组分割成功,而是通过step(步长)来 获取原始数组中的每一项。 第二步:先两两为一组进行合并排序,然后四个四个为一组进行合并排序,依次类推,如果有成单元素则放到最后原创 2017-05-28 21:11:54 · 373 阅读 · 0 评论 -
插入排序的原理
插入排序,一般以打牌排列手牌为例子。其实我感觉用两个数组表示更好理解,即使在整个代码中只有一个数组,但是可以抽象成两个数组。 以要进行插入排序的数组内容之前的内容为新数组,原始数组为旧数组。 old代表未排序的旧数组;new代表排序后的新数组。 new数组中的内容是从old数组中一点一点插入进来并且每插一次进行一次排序,因此new数组永远是有序的。我们默认new数组中已经插入 了old数组的第一项原创 2017-05-20 21:09:49 · 875 阅读 · 0 评论