/***
* @param $arr
* @return mixed
* 氣泡排序【重複比較兩個相鄰的元素,如果位置錯誤則對調位置,直至沒有元素需要對換】
* 分類 -------------- 內部比較排序
* 資料結構 ---------- 陣列
* 最差時間複雜度 ---- o(n^2)
* 最優時間複雜度 ---- 如果能在內部迴圈第一次執行時,使用乙個旗標來表示有無需要交換的可能,可以把最優時間複雜度降低到o(n)
* 平均時間複雜度 ---- o(n^2)
* 所需輔助空間 ------ o(1)
* 穩定性 ------------ 穩定
*/private function bubblesort($arr)}}
return $arr;
}/**
* @param $arr
* @return mixed
* 雞尾酒排序【又叫定向氣泡排序,氣泡排序的一種改進,先向右排序出最大的那個,然後向左排序出最小的,週而復此】
* 分類 -------------- 內部比較排序
* 資料結構 ---------- 陣列
* 最差時間複雜度 ---- o(n^2)
* 最優時間複雜度 ---- 如果序列在一開始已經大部分排序過的話,會接近o(n)
* 平均時間複雜度 ---- o(n^2)
* 所需輔助空間 ------ o(1)
* 穩定性 ------------ 穩定
*/private function cocktailsort($arr)
}$left++;
for ($i=$right;$i>$left;$i--)
}$right--;
}return $arr;
}/**
* @param $arr
* @return mixed
* 選擇排序【找出第1/2/3/4/../n個最小(大)的值放到相應的位置,然後繼續找出下乙個未排序的最小(大)值】
* 分類 -------------- 內部比較排序
* 資料結構 ---------- 陣列
* 最差時間複雜度 ---- o(n^2)
* 最優時間複雜度 ---- o(n^2)
* 平均時間複雜度 ---- o(n^2)
* 所需輔助空間 ------ o(1)
* 穩定性 ------------ 不穩定
*/private function choosesort($arr)
}if($min != $i)
}return $arr;
}/**
* @param $arr
* @return mixed
* 選擇排序【往左乙個個比較】
* 分類 ------------- 內部比較排序
* 資料結構 ---------- 陣列
* 最差時間複雜度 ---- 最壞情況為輸入序列是降序排列的,此時時間複雜度o(n^2)
* 最優時間複雜度 ---- 最好情況為輸入序列是公升序排列的,此時時間複雜度o(n)
* 平均時間複雜度 ---- o(n^2)
* 所需輔助空間 ------ o(1)
* 穩定性 ------------ 穩定
*/private function insertsort($arr)
$arr[$j+1] = $get;
}return $arr;
}
/**
* 希爾排序(遞減增量排序,插入排序的一種更搞笑改進版本)
* 分類 -------------- 內部比較排序
* 資料結構 ---------- 陣列
* 最差時間複雜度 ---- 根據步長序列的不同而不同。已知最好的為o(n(logn)^2)
* 最優時間複雜度 ---- o(n)
* 平均時間複雜度 ---- 根據步長序列的不同而不同。
* 所需輔助空間 ------ o(1)
* 穩定性 ------------ 不穩定
*/private function shellsort($arr)
while ($h>=1)
$arr[$j+$h] = $get;
}$h = ($h-1)/3;
}return $arr;
}/**
* 歸併排序
* 分開 -------------- 內部比較排序
* 資料結構 ----------- 陣列
* 最差時間複雜度 ------ o
* 最有時間複雜度 ------ o
* 平均時間複雜度 ------ o
* 所需輔助空間 -------- o(n)
* 穩定性 ------------- 穩定
*/private function mergesort($arr)
private function mergearr($arr1,$arr2)
return array_merge($arr3,$arr1,$arr2);
}
Centos中更新PHP版本
檢視當前centos版本 cat etc centos release結果為 centos release 6.3 final 檢視當前php版本 php v結果為 php 5.3 28 cli built jun 6 2014 17 00 08 thephp group zend engine v...
DailyTask 演算法彙總(更新中)
1 tf idf介紹 2 優點 tf idf演算法的優點是簡單快速,結果比較符合實際情況。3 缺點 單純以 詞頻 衡量乙個詞的重要性,不夠全面,有時重要的詞可能出現次數並不多。而且,這種演算法無法體現詞的位置資訊,出現位置靠前的詞與出現位置靠後的詞,都被視為重要性相同,這是不正確的。一種解決方法是,...
C VS C error 彙總 更新中
lnk x 錯誤 鏈結錯誤 以下為在ue4中,出現的c1083錯誤 自定義外掛程式外掛程式 fatal error c1083 cannot open include file modulemanager.h no such file or directory 嚴重錯誤c1083 無法開啟包含檔案 ...