我有一個數據列表。如何找到這個程序的時間複雜度?
db = [("Ada","works", "IBM")
,("Alice","director", "Ada")
,("Tom","works", "IBM")
,("Tommy","director", "Tom")
,("IBM","isat", "CA")
,("CA","in", "USA")
]
ask db = map (\(x,y,z) -> (z == "IBM")) db
如何計算爲O(n)的複雜性? 如果我想通過列表2,5,10.O的長度,得到的結果(n)是同樣喜歡2,5,10?如果我做
trans2 db = concat (map ((x,y,z) -> concat (map((x',y',z') -> if (z==x') then [] else [(x,y ++ "." ++ y',z')] else []) db)) db)
我該如何計算O(n)?程序的運行時間?調整的複雜性
* O(n)* ??的複雜性* O(n)*是一個複雜類。 –
函數O(n)時間複雜度 – Ada
這個比較是一個恆定的時間操作,由於你使用了map,所以'ask'函數運行於O(n)(又稱線性時間) 。 – Erik