私はデータリストを持っています。どのようにこのプログラムの時間の複雑さを見つけるのですか?
O(N)の複雑さを計算する方法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
? 私はリスト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
比較は 'n'回(' map'を使用しているため)行われた一定時間の操作であるため、 'ask'関数はO(n)(別名リニア時間) 。 – Erik