// 插入演算法
// 插入排序有點類似人類按字母順序對資料進行排序,就如同你打撲克牌一樣,將摸來的撲克按大小放到合適的位置一樣。它的原理就是通過巢狀迴圈,外迴圈將陣列元素挨個移動,而內迴圈則對外迴圈中選中的元素及它後面的元素進行比較;如果外迴圈中選中的元素比內迴圈中選中的元素小,那麼陣列元素會向右移動,為內迴圈中的這個元素騰出位置。
// 實現步驟如下:
// 1.從第乙個元素開始,該元素預設已經被排序
// 2.取出下乙個元素,在已經排序的元素序列中從後向前掃瞄
// 3.如果該元素(已排序)大於新元素,將該元素移到下一位置
// 4.重複步驟3,直到找到已排序的元素小於或者等於新元素的位置
// 5.將新元素插入到該位置
// 6.重複步驟2~5,直到排序完成
function insertionsort(arr) {
var len = arr.length;
var preindex, current;
for (var i = 1; i < len; i++) {
preindex = i - 1;
current = arr[i];
while(preindex >= 0 && arr[preindex] > current) {
arr[preindex+1] = arr[preindex];
preindex--;
arr[preindex+1] = current;
return arr;
const arr = [91, 60, 96, 7, 35, 65, 10, 65, 9, 30, 20, 31, 77, 81, 24];
console.log(insertionsort(arr));
js 雙線性插值 雙三次插值法 實現
雙三次插值法 js實現 在網頁中利用canvas進行繪圖時,遇到乙個問題,原始的資料解析度很小,而要放大到整個網頁,所以需要把資料進行插值放大。學習了雙線性插值和三次內插法插值,兩種方式實現效果不同,都用js 實現了一下,下面給大家分享一下 雙線性插值即在x和y兩個方向上,對資料各進行一次線性插值。...
數值演算法 Hermite插值法
相關的理論請參考相關的數值演算法的書籍,我這裡只給出關鍵的函式及主程式段,其餘相關的細節就不再一一羅列了 hermite 插值法結合了函式的導數值,使得插值的精度更為提高 void hermite3 type xlist,type ylist,type yplist,type x,file outp...
pyhton 使用插值法填充缺失值
import pandas as pd import numpy as np time index pd.date range 01 01 2010 periods 5,freq m 設定索引 dataframe pd.dataframe index time index 建立帶確實資料的特徵 da...