gpt4 book ai didi

haskell - 数据结构请求 : Lazily infinite set

转载 作者:行者123 更新时间:2023-12-04 08:22:00 25 4
gpt4 key购买 nike

有没有F :: * -> * , iterate' :: Ord a => (a -> a) -> a -> F aelem' :: Ord a => Int -> a -> F a -> Bool具有以下属性?

  • elem x (take n (iterate f y))elem' n x (iterate' f y)elem x (iterate f y)
  • elem' n x (iterate' f y)O(n * log n) 中运行时间和O(n)空间
  • elem' n x xsO(log n) 中运行时间和O(1)空间
  • 最佳答案

    import qualified Data.Set as S

    type F x = [S.Set x]

    iterate' f
    = map head
    . evalState (traverse (state . splitAt) (iterate (*2) 1))
    . scanl (flip S.insert) S.empty
    . iterate f

    elem' n x xs = S.member x $ xs !! (ceiling (logBase 2 (fromIntegral n)) - 1)

    (中间集算作分配空间吗?如果你需要平衡它们,你甚至可以在线性空间中做有限集吗?)

    关于haskell - 数据结构请求 : Lazily infinite set,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41194824/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com