Gibt es F :: * -> *
, iterate' :: Ord a => (a -> a) -> a -> F a
und elem' :: Ord a => Int -> a -> F a -> Bool
mit den folgenden Eigenschaften?
elem x (take n (iterate f y))
⇒ elem' n x (iterate' f y)
⇒ elem x (iterate f y)
elem' n x (iterate' f y)
wird in O(n * log n)
time und O(n)
space
elem' n x xs
wird in O(log n)
time und O(1)
space
(Werden die Zwischensätze als zugeordneter Raum gezählt? Können Sie sogar endliche Mengen im linearen Raum erstellen, wenn Sie sie ausgleichen müssen?)
Tags und Links haskell data-structures set complexity-theory