• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            ArcTan

            dfs
            隨筆 - 16, 文章 - 117, 評論 - 6, 引用 - 0
            數據加載中……

            并查集基礎和的應用

            今天給SDUT的ACMer看了看并查集,總結總結下:
               并查集,干的就是“并”和“查”兩件事。很多與集合相關的操作都可以用并查集高效的解決。

                   int Find(int x)
                   {
                      if (tree[x].parent != x)
                      {
                          tree[x].parent = Find(tree[x].parent);
                      }
                      return tree[x].parent;
                   }

                   void Merge(int a, int b, int p, int q, int d)
                   {
                      if (tree[q].depth > tree[p].depth) tree[p].parent = q;
                      else
                      {
                          tree[q].parent = p;
                          if (tree[p].depth == tree[q].depth) tree[p].depth++;
                      }
                   }


                   其中Find()函數用了路徑壓縮優化,而Merge()函數用了啟發式合并的優化(個人感覺有了路徑壓縮,啟發式合并優化的效果并不明顯,而經常因為題目和代碼的限制,啟發式合并會被我們省略)。

                  有個問題,如何求節點到跟節點的距離?

             

            posted on 2012-07-26 19:28 wangs 閱讀(218) 評論(0)  編輯 收藏 引用 所屬分類: ACM-數據結構

            热久久这里只有精品| 久久综合狠狠综合久久激情 | 婷婷综合久久中文字幕蜜桃三电影| 日本精品一区二区久久久| 日本精品久久久久久久久免费| 精品久久久久久久无码| 国产高清美女一级a毛片久久w| 无码国内精品久久人妻蜜桃| 久久精品国产清自在天天线| 欧美喷潮久久久XXXXx| 无码精品久久一区二区三区| 狠狠88综合久久久久综合网| 中文成人久久久久影院免费观看| 国产精品18久久久久久vr| 久久亚洲sm情趣捆绑调教| 国产成人久久777777| 蜜臀久久99精品久久久久久小说| 久久www免费人成看国产片| 久久天天躁狠狠躁夜夜躁2O2O| 久久强奷乱码老熟女| 久久亚洲高清观看| 精品少妇人妻av无码久久| 中文精品久久久久人妻不卡| 亚洲国产成人久久综合碰| 国产精久久一区二区三区| 99久久国产热无码精品免费久久久久 | 日韩精品久久久肉伦网站| 久久亚洲AV永久无码精品| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 国产精品久久网| 欧美大香线蕉线伊人久久| 亚洲AV无码久久精品成人| 久久久久久久女国产乱让韩| 思思久久99热只有频精品66| 伊人久久大香线蕉AV一区二区 | 亚洲精品无码久久久久sm| 国内精品伊人久久久久777| 99精品国产综合久久久久五月天| 国产精品99久久久精品无码| 亚洲午夜无码久久久久小说| 久久免费看黄a级毛片|