一、十大經(jīng)典排序算法
排序算法是算法中最基本算法之一
首先我們要知道幾個相關的概念:
1. 時間復雜度(平均時間復雜度约巷、最好情況店展、最壞情況)
2. 空間復雜度
3. 排序方式
4. 穩(wěn)定性
時間復雜度: 執(zhí)行算法需要的計算工作量
空間算法:執(zhí)行算法所需的內(nèi)存空間
排序方式:內(nèi)部排序和外部排序
穩(wěn)定性:排序后 2 個相等鍵值的順序和排序之前它們的順序相同
關于時間復雜度:
1.平方階(O(n2)):冒泡排序挥唠、選擇排序和插入排序
2.線性對數(shù)階(O(nlog2n)): 歸并排序液走、快速排序、堆排序和希爾排序
3.O(n+k):計數(shù)排序覆糟、桶排序
4.O(nxK):基數(shù)排序
穩(wěn)定性:
穩(wěn)定的排序方法:冒泡排序刻剥、插入排序,歸并排序和基數(shù)排序滩字、計數(shù)排序造虏、桶排序
不穩(wěn)定的排序方法: 選擇排序御吞、快速排序、希爾排序漓藕、堆排序
十大排序具體內(nèi)容
二陶珠、七大經(jīng)典查找算法
查找算法:是在信息中找到特定的信息元素。
- 查找算法分類:
- 靜態(tài)查找 和 動態(tài)查找
??注:靜態(tài)或動態(tài)是針對被查找表而言的享钞,動態(tài)查找:被查找數(shù)組(表)中有刪除和插入等操作
- 無序查找 和 有序查找
??無序查找:被查找的數(shù)組(表)有序無序均可揍诽。
??有序查找:被查找的數(shù)組(表)必須是有序
- 平均查找長度(Average Search Length ASL):查找的值Value 和 比較的關鍵值的個數(shù)的期望值(簡單說:查找成功次數(shù)的期望值)
查找成功的平均查找長度為:
ASL = PiCi;*
??Pi:查找表中第i個數(shù)據(jù)元素的概率。
??Ci:找到第i個數(shù)據(jù)元素時已經(jīng)比較過的次數(shù)栗竖。
七大查找具體內(nèi)容
本倉庫持續(xù)更新中……
對一個的github地址:https://github.com/FlameDream/Learn_Algorithm