我有以下(命令式)算法,想在Haskell中实现:
给定一系列成对出现的数字[(e0,s0), (e1,s1), (e2,s2),...,(en,sn)],其中“e”和“s”都是自然数,不一定不同,每个时间步骤会随机选择一个元素,假设为(ei,si),并基于(ei,si)的值构建一个新元素添加到序列中。
如何在Haskell中高效地实现这个算法?需要随机访问,因此列表不适合,而每次只添加一个元素则数组也不适合,据我所知。
谢谢。
给定一系列成对出现的数字[(e0,s0), (e1,s1), (e2,s2),...,(en,sn)],其中“e”和“s”都是自然数,不一定不同,每个时间步骤会随机选择一个元素,假设为(ei,si),并基于(ei,si)的值构建一个新元素添加到序列中。
如何在Haskell中高效地实现这个算法?需要随机访问,因此列表不适合,而每次只添加一个元素则数组也不适合,据我所知。
谢谢。