【list】的內置函數時間復雜度
| 方法 | 復雜度 | 簡介 |
|---|---|---|
| index[x] | O(1) | 索引 |
| index assignment | O(1) | 索引賦值 |
| append | O(1) | 尾部追加 |
| pop() | O(1) | 尾部彈出 |
| pop(i) | O(n) | 指定位置彈出 n列表長度, 最壞時間復雜度 |
| insert(i, item) | O(n) | 指定位置添加 |
| del operator | O(n) | 刪除, 代表一個一個元素去清空 |
| iteration | O(n) | 迭代 |
| contains(in) | O(n) | 看誰是否在列表中, 需要遍歷 |
| get slice[x:y] | O(k) | 取切片, 從x取到y, 一次定位到x, 然后取到y ,x和y之間有多少就是k |
| del slice | O(n) | 刪除切片 刪除位置之后, 后面的元素都需要往前移動 |
| set slice | O(k) | 設置切片, li[0:3] = [1, 2, 3, 4]k是補充的東西數量 |
| reverse | O(n) | 置返 |
| concatenate | O(k) | 代表使用的+, 把兩個列表加到一起, k是第二個列表中的元素 |
| sort | O(nlogn) | 排序 |
| multiply | O(nk) | 相乘 li=[1, 2] -> n li * 10 -> k |
【dict】 的內置函數時間復雜度
| 方法 | 復雜度 | 簡介 |
|---|---|---|
| copy | O(n) | 復制 |
| get item | O(1) | 取 |
| set item | O(1) | 設置 |
| delete item | O(1) | 刪除鍵 |
| contains(in) | O(1) | 包含 |
| iteration | O(n) | 迭代 |
排序算法時間復雜度和效率的比較
