zoukankan      html  css  js  c++  java
  • 并查集

    并查集通常用来判断一组数据里面的包含关系,因此核心就是find()以及merge()两个功能

    int box[10005];
    
    void initial(int limit)
    {
        for(int i=0;i<=limit;++i)
        {
            box[i]=i;                       //初始化
        }
    }
    
    int find(int index)
    {
        if(box[index]==index)
        {
            return index;
        }
        else
        {
            box[index]=find(box[index]);     // 路径压缩,提高每一个节点寻找祖宗的速度 
            return box[index];
        }
    }
    
    void merge(int x,int y)
    {
        int getx=find(x);
        int gety=find(y);
        if(getx!=gety)
        {
            box[gety]=getx;           // 如果不是同一个祖宗,则统一将左边设为右边的祖宗 
        }
    }
  • 相关阅读:
    WiFi热点
    计算器
    flask的使用
    Python logging
    串口
    C# 定时器
    C# 控件
    cookie 和 session
    文件
    Linux命令
  • 原文地址:https://www.cnblogs.com/kachunyippp/p/10256300.html
Copyright © 2011-2022 走看看