list的具體實現方法:見 or 印象筆記 python 列表原始碼解析
import numpy as np
class testtime:
@classmethod
def duplicatesinsortedarray(cls, size = 1000):
arr =
for i in range(size//2):
return arr
@classmethod
def notsortedarray(cls, low = 1, high = 1000, size = 1000):
return list(np.random.randint(low, high, size))
from testtime import testtime
from usingarray.sortcolors75 import solution
import time
for i in range(15,25):
size = 2 ** i
nums = testtime.notsortedarray(size=size)
ll = set(nums)
ll.add(1)
# start = time.time()
# end = time.time()
# start = time.time()
# nums.remove(nums[0]) # o(n)的時間複雜度
# end = time.time()
# print('size=', size, ' list remove time=', end - start)
# start = time.time()
# re = 10 in nums #o(n)的時間複雜度,不太確定
# end = time.time()
# print('size=', size, ' list exits time=', end - start)
# start = time.time()
# ll.add(0) # o(1)的時間複雜度
# end = time.time()
# print('size=', size, ' set add time=', end - start)
start = time.time()
re = 1 in ll # o(1)的時間複雜度
end = time.time()
print('size=', size, ' set remove time=', end - start)
暫且認為:
但是不能從實驗資料中確定x在list
中(x in list) 的時間複雜度
set 中 add , remove ,x在set
中(x in set) 的時間複雜度的時間複雜度為o(1)
set 和 frozenset 的區別為乙個可變,有add和remove方法,乙個不可變,沒有add 和remove方法。
List Set和Map介面遍歷方法
一 list集合 public class test 2 加強for迴圈遍歷 for string name list 3 迭代器遍歷 iteratoriterator list.iterator while iterator.hasnext 二 set集合 public class test 2 ...
List Set 集合概述
asp.net android ios開發 net培訓 期待與您交流!1 集合基本概念 collection定義了集合框架的共性功能。1 新增 add e addall collection 2 刪除 remove e removeall collection clear 3 判斷。contains...
List Set集合 Collections工具類
1 list集合 1 list是colleciton介面的乙個子介面,常用的實現類有arraylist linkedlist 2 list集合的特點 1 儲存單個元素,元素可重複,可以儲存多個null 2 儲存有序,存入順序和取出來的順序一致 例如 add 1 add 2 add 3 遍歷列印集合 ...