当前位置: 首页>>代码示例>>C++>>正文


C++ SuffixTree::FChild方法代码示例

本文整理汇总了C++中SuffixTree::FChild方法的典型用法代码示例。如果您正苦于以下问题:C++ SuffixTree::FChild方法的具体用法?C++ SuffixTree::FChild怎么用?C++ SuffixTree::FChild使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在SuffixTree的用法示例。


在下文中一共展示了SuffixTree::FChild方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: generateBitmapAux

        void generateBitmapAux(pair <size_t,size_t> nodes,BitString *bitmap,uint &bitmap_pos,vector<pair<uint,uint> > &result) {
            pair <size_t,size_t> r;
            size_t pl_aux = nodes.first;
            size_t pr_aux = nodes.second;

            size_t next_vl,next_vr;
            size_t nsibling_l,nsibling_r;
            if (pr_aux - pl_aux != 1) {
                // cout << "entre!" << endl;
                if (pl_aux == pr_aux)  {
                    bitmap_pos++;
                    // cout << "(";
                    bitmap->setBit(bitmap_pos);    
                    // cout << ")";            
                    bitmap_pos++;
                    //return;
                }
                result.push_back(make_pair(pl_aux,pr_aux));
            }
            cst->FChild(pl_aux, pr_aux, &next_vl, &next_vr);
            cst->NSibling(pl_aux,pr_aux,&nsibling_l,&nsibling_r);
            r = make_pair(next_vl,next_vr);
            if (next_vl != (size_t)-1 && next_vr != (size_t)-1) {
                if (next_vl == next_vr)  {
                    generateBitmapAux(r,bitmap,bitmap_pos,result);
                } else { 
                    bitmap_pos++; // leave a 0
                    // cout << "(";
                    generateBitmapAux(r,bitmap,bitmap_pos,result);
                    // cout << ")";
                    bitmap->setBit(bitmap_pos);
                    bitmap_pos++;
                    pl_aux = next_vl;
                    pr_aux = next_vr;
                }
            }
            if (nsibling_l != (size_t)-1 && nsibling_r != (size_t)-1) {
                r = make_pair(nsibling_l,nsibling_r);
                if (nsibling_l == nsibling_r)  {
                    generateBitmapAux(r,bitmap,bitmap_pos,result);
                } else { 
                bitmap_pos++;
                // cout << "(";
                generateBitmapAux(r,bitmap,bitmap_pos,result);
                 // cout << ")";
                bitmap->setBit(bitmap_pos);
                bitmap_pos++;
                }

            }
        }
开发者ID:rkonow,项目名称:topk,代码行数:51,代码来源:SuffixTreeHandler.cpp


注:本文中的SuffixTree::FChild方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。