標籤:去重 定義 style 物理 簡單 sel blog [] ice
斐波那契數列:
斐波那契數列,又稱黃金分割數列,指的是這樣一個數列:0、1、1、2、3、5、8、13、21、……在數學上,費伯納西數列以如下被以遞迴的方法定義:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)在現代物理、准晶體結構、化學等領域,費伯納西數列都有直接的應用,為此,美國數學會從1963起出版了以《費伯納西數列季刊》為名的一份數學雜誌,用於專門刊載這方面的研究成果。
這個數列從第二項開始,每一項都等於前兩項之和。
function abc(num){ if(num<=2){ return 1; } return abc(num-1)+abc(num-2); }簡單的例子。
它是使用遞迴實現的。
遞迴的原理圖:
就是先實現遞的過程,然後再實現歸的過程。
冒泡排序:
- 比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。
- 對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。
- 針對所有的元素重複以上的步驟,除了最後一個。
- 持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。
var arr=[2,5,1,0,10,20,4];function abc2(arr){ for(var i=0;i<arr.length;i++){ for(var j=0;j<arr.length-1;j++){ arr=toCon(arr,j) } } return arr;}function toCon(arr,index){ if(arr[index]>arr[index+1]){ var a=arr[index+1]; arr[index+1]=arr[index]; arr[index]=a; } return arr;}// alert(abc2(arr))
選擇排序:
選擇排序(Selection sort)是一種簡單直觀的選擇排序。它的工作原理是每一次從待排序的資料元素中選出最小(或最大)的一個元素,存放在序列的起始位置,直到全部待排序的資料元素排完。
function selectS(arr){ if(arr.length==1){ return arr; } var min=arr[0]; var index=0; for(var i=0;i<arr.length;i++){ if(min>arr[i]){ min=arr[i]; index=i; } } var a=arr.splice(index,1); return a.concat(selectS(arr));}// alert(selectS(arr));
數組去重
就是把數組中重複的值去除
var arr2=[0,0,0,1,2,3,4,5,5,12,1,2];function delC(arr){ var obj={}; var newArr=[]; for(var i=0;i<arr.length;i++){ if(!obj[arr[i]]){ obj[arr[i]]=1; newArr.push(arr[i]); } } return newArr;}// alert(delC(arr2))
斐波那契數列,冒泡排序,選擇排序,數組去重