我有一个数据列表。
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)?程序的运行时间?调整复杂性
答案 0 :(得分:1)
问题尚不清楚,我预计很快就会关闭。简言之。
O(n)是的复杂性。如果你知道O(n)并且你想要复杂性,那么你就完成了。
列表的长度(2,5,10,你有什么)不是这种情况下复杂性的一个因素,因为长度是n
所代表的。
没有代码会自动计算算法的复杂性。这是一个手动分析。