我有一个数据列表。如何找到这个程序的时间复杂度?
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