排序算法的時間復雜度


單向鏈表:

  最好情況:頭節點 O(1)
  最壞情況:尾節點 O(n)

雙向鏈表:

  最好情況:insert/delete 頭節點/尾節點 O(1)
  最壞情況:元素不在數組中,遍歷所有元素 O(n)

數組擅長讀取,鏈表擅長寫入。寫入要先讀取定位,再寫入。

讀取場景:

  任意序位讀取,復雜度: 數組O(1),鏈表O(n)。

寫入場景:

  任意序位寫入,定位復雜度:數組O(1),鏈表O(n);寫入復雜度:數組O(n),鏈表O(1)。

為什么數組的插入的復雜度是O(n)?

  在數組尾部插入就是O(1),因為不影響別的操作,假如說數組為a長度為10,你要在a[4]處插入一個值,因為數組是連續的,不可能再中間憑空新增一個空間,你要在a[4]上插入一個值,就需要將原來的a[4]-a[9]向后移一位


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM