Documentation

Aesop.Util.UnionFind

structure Aesop.UnionFind (α : Type u_1) [BEq α] [Hashable α] :
Type u_1
Instances For
    instance Aesop.instInhabitedUnionFind :
    {a : Type u_1} → {a_1 : BEq a} → {a_2 : Hashable a} → Inhabited (Aesop.UnionFind a)
    Equations
    • Aesop.instInhabitedUnionFind = { default := { parents := default, sizes := default, toRep := default } }
    Equations
    • Aesop.UnionFind.instEmptyCollection = { emptyCollection := { parents := #[], sizes := #[], toRep := } }
    def Aesop.UnionFind.size {α : Type u_1} [BEq α] [Hashable α] (u : Aesop.UnionFind α) :
    Equations
    • u.size = u.parents.size
    Instances For
      def Aesop.UnionFind.add {α : Type u_1} [BEq α] [Hashable α] (x : α) (u : Aesop.UnionFind α) :
      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        def Aesop.UnionFind.addArray {α : Type u_1} [BEq α] [Hashable α] (xs : Array α) (u : Aesop.UnionFind α) :
        Equations
        Instances For
          def Aesop.UnionFind.find? {α : Type u_1} [BEq α] [Hashable α] (x : α) (u : Aesop.UnionFind α) :
          Equations
          Instances For
            @[implemented_by _private.Aesop.Util.UnionFind.0.Aesop.UnionFind.mergeUnsafe]
            opaque Aesop.UnionFind.merge {α : Type u_1} [BEq α] [Hashable α] (x : α) (y : α) :
            Equations
            • One or more equations did not get rendered due to their size.
            Instances For