当前位置: 首页 > news >正文

企业营销管理制度/全网营销与seo

企业营销管理制度,全网营销与seo,网站建设流程知乎,电子商务自助建网站胜者树是一棵完全二叉树,输入全在叶子节点。 直接举个例子说明: 上图中有3路,分别位于节点3、4、5,节点4、5进行比较胜者到节点2,节点2再和节点3比较胜者到节点1,节点1里就是最终的胜者。假如胜者来自节点…

胜者树是一棵完全二叉树,输入全在叶子节点。
直接举个例子说明:
胜者树
上图中有3路,分别位于节点3、4、5,节点4、5进行比较胜者到节点2,节点2再和节点3比较胜者到节点1,节点1里就是最终的胜者。假如胜者来自节点5,从节点5再取一个新的元素,和节点4进行比较,一直上升到节点1,重复该过程直到3路中都没有元素即完成归并。
下图也是类似。

没找到别人的实现就自己写了个,用数组保存胜者树,实现如下:

template <typename OutputIter, typename IterWrapper, typename Compare>
size_t _Compete(OutputIter& result, std::vector<IterWrapper>& input, Compare&& comp)
{const int N = input.size();IterWrapper** tree = new IterWrapper * [N << 1];int valid = N;int k = N;for (auto& iter : input){if (!iter.Valid()) --valid;iter.SetPos(k);tree[k] = &iter;++k;}if (valid == 0){delete[] tree;return 0;}auto compete = [tree, &comp](int right_child_index){IterWrapper* right = tree[right_child_index];IterWrapper* left = tree[right_child_index - 1];if (!right->Valid()) tree[right_child_index >> 1] = left;else if (!left->Valid()) tree[right_child_index >> 1] = right;else if (comp(**right, **left)) tree[right_child_index >> 1] = right;else tree[right_child_index >> 1] = left;};//build winner treefor (k = 2 * N - 1; k > 1; k -= 2){compete(k);}//弹出胜者,在剩下的中再进行一轮比赛,重复该过程size_t nres = 0;while (true){IterWrapper& winner = *tree[1];*result = *winner;++nres;++result;++winner;if (!winner.Valid()){if (--valid == 0) break;}for (int k = winner.GetPos(); k > 1; k = k >> 1){compete(k | 1);}}delete[] tree;return nres;
}

更完整的代码在 here。

http://www.jmfq.cn/news/5025457.html

相关文章:

  • 新疆网站开发公司/网盟推广
  • 濮阳佳杰网站建设巧用不对称/seo优化厂商
  • 开网站设计公司多少钱/seo数据监控平台
  • 网站建设一般多少钱比较合适/百度竞价排名推广
  • wordpress评价插件/网站seo外包公司
  • 域名打不开网站/网址查询网站
  • 玉山县建设局的网站/搜索引擎推广一般包括哪些
  • 企业网站ppt怎么做/北京seo加盟
  • 服务器打不开网站/友情链接模板
  • 如何做网站结构优化/百度开户代理
  • 有哪些可以做兼职的翻译网站/十个有创意的线上活动
  • 给你一个网站你如何做优化/汕头网站建设推广
  • 大连外贸网站建设/简短的营销软文范文
  • 重庆企业官网建站快速搭建/百家号官网
  • 东莞建设网官方网站首页/营销策划与运营公司
  • 博爱网站建设/关键词搜索引擎
  • 大型网站制作费用表/商品促销活动策划方案
  • 广告型网站/百度推广培训班
  • seo网站排名后退/运营是做什么的
  • 湖北省勘察设计协会网站/百度公司高管排名
  • wordpress文章评论数量/南昌seo顾问
  • 提升学历最快的方法/廊坊seo培训
  • 网站建设设计风格如何与色彩搭配/广州百度推广优化排名
  • 有模版之后怎么做网站/杭州网站优化推荐
  • 成都专业网站建设价格低/合肥瑶海区房价
  • 咸阳做网站公司电话/百度怎么优化网站排名
  • dw网站制作的源代码/佛山网站快速排名提升
  • 柳州市住房和城乡建设局网站/百度搜索风云榜手机版
  • wordpress安装显示空白页/网站seo具体怎么做
  • redis网站开发教程/杭州推广公司