小编Avi*_*oel的帖子

set vs unordered_set用于最快的迭代

在我的申请中,我有以下要求 -

  1. 数据结构将仅使用一些值(不是键/值对)填充一次.值可能会重复,但我希望数据结构只存储一次.

  2. 我将通过上面创建的数据结构的所有元素迭代100次.元素在迭代中出现的顺序并不重要.

约束1表明我将不得不使用set或unordered_set,因为数据不是键值对的形式.

现在set插入比unordered_set插入更昂贵,但数据结构只在我的程序开头填充一次.

我相信决定因素是我可以多快地迭代数据结构的所有元素.我不确定set或unordered_set对于此目的是否会更快.我相信标准没有提到这个事实,因为这个操作对于任一数据结构都是O(n).但我想知道iterator.next()哪个数据结构会更快.

c++ stl set unordered-set c++11

15
推荐指数
2
解决办法
1万
查看次数

功能编程成语在球拍/哈希尔中计算最多4个没有突变的数字

我计算了4个变量a,b,c和d中字符串中四个字符的出现次数.

现在,我想知道哪个字符出现的次数最多.

我想要一个函数式编程习惯来解决这个问题.

在Haskell中解决它的一种方法如下 -

foldl (\(count1, char1) (count2, char2) -> if count1 > count2 then (count1, char1) else (count2, char2)) (a, "A")  (zip [b, c, d] ["B", "C", "D"])
Run Code Online (Sandbox Code Playgroud)

有人为此问题有其他函数式编程习惯用法吗?

algorithm scheme haskell functional-programming racket

1
推荐指数
1
解决办法
140
查看次数