在pptv的實習結束了, 忙著找工作的事,順便把資料結構的那本書重新複習了一遍。為了加深印象,特意把裡面的常用的排序、查詢演算法用js寫了一遍
具體的例項在我的github上,大家可以訪問的: js_sort.html檔案
//js插入排序
function insertsort(arr)
}}else
}return result;
}
//js的歸併排序
function mergesort(arr)else
function merge(left, right)else
}return arr.concat(left, right);
}}
//js快排
function quicksort(arr)
var index = math.floor(arr.length / 2);
var key = arr.splice(index, 1)[0];
var left = , right = ;
for(var i = 0; i < arr.length; i++)else
}return quicksort(left).concat([key], quicksort(right));
}
//js冒泡
function bubblesort(arr)}}
return arr;
//js二分查詢
function binarysearch(arr, key, low, hight)else if(key > arr[mid])else
return result;
}
常用的其他演算法
//js查詢兩個陣列中相同的元素
function findsame(arr1, arr2)else if(arr1[i] < arr2[j])else
}return result;
}
//js全排列
function sortall(arr, flag)else
}function swap(arr, i, flag)
}
//js求最大子串行
function max_sub(arr)else if(temp_sum < 0)
}return max;
}
//js實現中文字段擷取無亂碼
/*這裡應該還需要判斷str的長度,因為中文字元應該佔2個長度*/
function gbsubstr(str, start, len)elseelse
}return result;
}}
JavaScript與Floyd最短路演算法
nba超級後場組合燈泡組合 harden和cp3 休賽期來到中國玩耍,他們兩人打算在四個城市進行玩耍,最後他們選擇了北京 上海 西安和長沙。假設這四個城市之間有些城市之前有航線,而有些城市之間沒有航線。為了方便行程,出發前,他們想要知道任意兩個城市之間的最短路程。如果下圖就是航線圖 我們使用乙個二維...
排序算發 計數排序
前面已經記錄過插入排序,歸併排序,快速排序,堆排序等四種排序。它們都有個共性,就是通過多次比較來得出前後順序,這種叫做比較排序,當然除此之外也有非比較排序。今天記錄的計數排序就是一種非比較排序。算發思想 有一串資料,如果我們知道每乙個元素公升序在陣列中的第幾個,那麼我們就知道了公升序的結果。而對於如...
JavaScript查詢元素
w3c為我們提供了比較方便的定位節點的方法和屬性,以便我們快速的對節點進行操作。分別為 方法說明 getelementbyid 獲取去特定id元素的節點 getelementbytagname 獲取相同元素的節點列表 getelementbyname 獲取相同名稱的節點列表 geattribute ...