Ruby's Louvre

每天学习一点点算法

导航

上一页 1 ··· 101 102 103 104 105 106 107 108 109 ··· 125 下一页

2010年1月20日 #

鸡尾酒排序

摘要: var cocktailSort= function(array) { var top = array.length - 1, bottom = 0,flag = true,i, j; while (flag) { flag = false; //从左到右到大,把最大的放到每次范围的最右边 for (i = bottom; i < top; i++) { if (array[i] > ... 阅读全文

posted @ 2010-01-20 18:34 司徒正美 阅读(899) 评论(0) 推荐(0) 编辑

组合排序

摘要: var combSort = function(array){ var gap = array.length; do{ gap = gap * 10 / 13 if(gap === 9 || gap === 10) gap = 11 if(gap < 1){ gap = 1 } var swapped = false; for(var i=0;i<array.length-gap;i+... 阅读全文

posted @ 2010-01-20 18:34 司徒正美 阅读(1041) 评论(0) 推荐(0) 编辑

希尔排序

摘要: 又称缩小增量排序: function shellSort(array) { var j, i, v, h=1, s=3, k,n = array.length while(h < n) h=s*h+1; while(h > 1) { h=(h-1)/s; for (k=0; k<h; k++) for (i=k+h,j=i; i<n; i+=h, j=i) { v=arra... 阅读全文

posted @ 2010-01-20 18:33 司徒正美 阅读(802) 评论(0) 推荐(1) 编辑

计数排序

摘要: var countSort = function(array) { var i, z = 0, count = [], min = Math.min.apply({}, array), max = Math.max.apply({}, array), size = array.length; //给新数组预填为零 for (i = min; i <= max; i++) { count[i]... 阅读全文

posted @ 2010-01-20 18:33 司徒正美 阅读(845) 评论(0) 推荐(0) 编辑

快速排序

摘要: var qurckSort = function(array){ function qsort(array, begin, end){ if(end>begin){ //找到枢纽 var index = partition(array, begin, end); qsort(array, begin, index-1); qsort(array, index+1, end); } } //定... 阅读全文

posted @ 2010-01-20 18:33 司徒正美 阅读(818) 评论(0) 推荐(0) 编辑

通过特征判定游览器

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2010-01-20 02:33 司徒正美 阅读(412) 评论(2) 推荐(2) 编辑

2010年1月19日 #

选择排序

摘要: var swap = function(array,a,b){ var tmp = array[a]; array[a] = array[b] array[b] = tmp; } var selectionSort = function(array){ //注意不要把min这个全局变量定义在循环内 for(var i=0,n=array.length,min = 0;i<n;i++){ fo... 阅读全文

posted @ 2010-01-19 21:55 司徒正美 阅读(651) 评论(0) 推荐(0) 编辑

2010年1月18日 #

插入排序

摘要: var insertionSort = function(array){ //一开始,第一个元素就被认为已排好序了 //以i为分割,小于i的为排好序的,大于或等于i的部分为待排序的 for(var i = 1,n = array.length;i < n;i++){ var tmp = array[i],//取出第一个待排序的元素(比较元素) j = i while(array[j-1]&g... 阅读全文

posted @ 2010-01-18 15:00 司徒正美 阅读(758) 评论(2) 推荐(1) 编辑

冒泡排序

摘要: 冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复以上过程,仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到最大数前的一... 阅读全文

posted @ 2010-01-18 12:58 司徒正美 阅读(920) 评论(0) 推荐(1) 编辑

2010年1月17日 #

合并排序

摘要: 具体原理可看这里javascript版本: function merge(left, right){ var result = []; while (left.length > 0 && right.length > 0){ if (left[0] < right[0]){ result.push(left.shift());//把最小的最先取出,放到结果集中 } else { ... 阅读全文

posted @ 2010-01-17 23:56 司徒正美 阅读(1061) 评论(2) 推荐(0) 编辑

上一页 1 ··· 101 102 103 104 105 106 107 108 109 ··· 125 下一页