小编pix*_*xie的帖子

前缀总和花费太长的OpenMP

我在OpenMP中实现前缀总和问题,我似乎没有得到任何加速.实际上,并行实现比顺序实现花费的时间更长.

这是我的前缀和的代码:

for (k = 1; k < n; k = kk) {
    kk = k << 1;

    #pragma omp parallel for 
    for (i = kk - 1; i < n; i += kk) {
        x[i] = x[i-k] + x[i];
    }
 }

for (k = k >> 1; k > 1; k = kk) {
    kk = k >> 1;

    #pragma omp parallel for
    for (i = k - 1; i < n - kk; i += k) {
        x[i …
Run Code Online (Sandbox Code Playgroud)

parallel-processing openmp

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

微信开放平台openId和unionId

我想用微信实现登录.在阅读文档时,我遇到了两个不同的参数,其含义我还不完全理解:openId和unionId.

有人可以解释这些id究竟是什么吗?据我所知,它应该是这样的:

  • openId - 用户的一些唯一ID,可能会不时更改

  • unionId - 用户唯一ID,唯一始终相同的ID.相当于Google使用Google API登录时返回的唯一ID.

我在这里找到的文档可以在这里找到:http://open.wechat.com/cgi-bin/newreadtemplate?t = _overseas_open/docs/web/login/getting-user-profile#login_getting-user-profile

oauth wechat

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

Haskman树在Haskell

我是Haskell的新手,我正在尝试创建一个霍夫曼树,直到最后我都无法弄明白.

我对树的定义如下: data HuffTree = Node Int HuffTree HuffTree | Leaf (Int, Char)

到目前为止,我有一个函数insTree :: HuffTree -> HuffTree -> HuffTree,在树中插入带有子树的Node并返回新树.一个函数makePair :: HuffTree -> HuffTree -> HuffTree,它接受两棵树,并使一个新的树具有原始两棵树的子树,并且值为前两棵树中的值的总和.以及value :: HuffTree -> Int从每个节点返回值的函数.

我的问题是makeHuffTree :: [(Int, Char)] -> HuffTree看起来像这样的功能:

makeHuffTree :: [(Int, Char)] -> HuffTree
makeHuffTree lst = merge leafList
    where
        leafList = map (\ ((x,c)) -> Leaf (x,c)) lst
        merge [] = []
        merge [t] = [t]
        merge (t1 : t2 : tree) = …
Run Code Online (Sandbox Code Playgroud)

tree haskell huffman-code

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