
單向鏈表:
最好情況:頭節點 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]向后移一位
