1. 程式人生 > >列表與字典操作的時間複雜度

列表與字典操作的時間複雜度

列表內建函式時間複雜度:

index[]索引            O(1)
index[]索引修改     O(1)
append                  O(1)
pop                        O(1)
pop(i)                     O(n)
insert(i,item)          O(n)
del operator           O(n)   
in                            O(n)
get slice[x:y]           O(k)(k是X到Y的長度)
del slice                  O(n)
set slice                  O(n+k)(相當於先刪除,在加進去)
例子:
list1 = [1,2,3,4,5,56]
list1[0:3] = [77,777,7777,7,2,7,7,27]
>>>[77, 777, 7777, 7, 2, 7, 7, 27, 4, 5, 56]
reverse(逆序)         O(n)
concatenate(把第二個列表裡的內容加到第一個隊尾)             O(k)(第二個列表裡有k各元素)
sort                        O(nlogn)
multiply(乘法)        O(nk)

字典內建操作時間複雜度
copy              O(n)
get item         O(1)
set item         O(1)
delete item    O(1)
in                   O(1)
遍歷               O(n)