HONGJIN2遊戲開發中用到的排序演算法有很多

2021-06-22 20:28:35 字數 895 閱讀 1232

hongjin2遊戲開發中用到的排序演算法有很多,紅警愛好者hongjin2 在實際使用的時候需要根據情況選擇合適的相應演算法。每種演算法都有其優缺點,判斷乙個演算法的優劣,可以參考的標準:

1.計算的複雜度:依據排序資料量的大小(n),好的表現是o(nlogn),最差表現為o(n2)

2.系統資源的使用:包括計算機記憶體以及其他資源的使用,主要考慮計算機輔助記憶體的多少

3.穩定度

幾種演算法的複雜度:

1.氣泡排序法:平均速度和最壞情況下的速度都為o(n2)

2.快速排序法:平均速度為o(nlogn),比氣泡排序法快,單在最壞的情況下與氣泡排序法相同,為o(n2)

3.簡單選擇排序法,平均速度和最壞情況下的速度都為o(n2)

4.堆排序法:平均速度和最壞情況下的速度都為o(nlogn)

5.希爾排序法:平均速度為o(n3/2),最壞情況下速度為o(n2)

6.合併排序法:平均速度和最壞情況下的速度都為o(nlogn)

幾種演算法的穩定度:

•穩定的演算法: •氣泡排序法

•插入排序法

•合併排序法

•不穩定的演算法:. •選擇排序法

•希爾排序法

•堆排序法

•快速排序法

選擇排序演算法的幾個參考:

1.當資料為正序時,使用直接插入排序法、氣泡排序法和快速排序法

2.當n值比較下(如n<=50),可採用直接插入排序法或選擇排序法。當記錄規模比較小時直接插入排序較好;否則因為直接選擇移動的記錄數多於直接插入,應選擇直接選擇排序

3.當n值比較大時,則應採用時間複雜度為o(nlogn)的排序演算法,如快速排序、堆排序或合併排序

4.當待排序的關鍵字是隨機分布時,快速排序的平均時間最短

5.若要求排序穩定,則可選擇合併排序



IOS 開發中用到的數學函式

1 三角函式 double sin double 正弦 double cos double 余弦 double tan double 正切 2 反三角函式 double asin double 結果介於 pi 2,pi 2 double acos double 結果介於 0,pi double at...

Android開發中用到的載入等待效果

使用idea結合gradle進行安卓開發,在引入第三方庫或者功能的時候,簡直太方便了,簡單配置幾行 就能直接使用帶有介面資源的第三方功能,這簡直太爽了,回想2014 2015年做安卓開發的時候,第三方的東西都要專門弄個工程,在本地跑起來,打包的時候打到一起。技術真是日新月異啊,不過這種開發也比較吃硬...

MomentJS記錄下開發中用到的日期

1 計算當前周一到週日的日期 var weekofday moment format e 計算今天是這週第幾天 var last monday moment subtract weekofday 1,days format yyyy mm dd 周一日期 var last sunday moment...