Пример #1
0
        /// <summary>
        /// The function will shuffle some optional edges to the must edges
        /// in a way that must  edges will create a weakly connected component
        /// including initVertex. For this function n is already known.
        ///
        /// </summary>
        /// <param name="mustEdges"></param>
        /// <param name="optionalEdges"></param>
        /// <param name="numberOfVertices"></param>
        void CreateWeakClosureForMustEdges(ref Edge[] mustEdges,
                                           ref Edge[] optionalEdges, int numberOfVertices)
        {
            ConnectedComponentDivider divider = new ConnectedComponentDivider(mustEdges, numberOfVertices);

            Edge[][] comps = divider.ConnectedComponents;

            ClosureOfConnectedComps closure = new ClosureOfConnectedComps(mustEdges,
                                                                          optionalEdges,
                                                                          numberOfVertices,
                                                                          comps, this.initVertex);

            mustEdges     = closure.MustEdges;
            optionalEdges = closure.OptionalEdges;
        }
Пример #2
0
        /// <summary>
        /// The function will shuffle some optional edges to the must edges
        /// in a way that must  edges will create a weakly connected component 
        /// including initVertex. For this function n is already known.
        /// 
        /// </summary>
        /// <param name="mustEdges"></param>
        /// <param name="optionalEdges"></param>
        /// <param name="numberOfVertices"></param>
        void CreateWeakClosureForMustEdges(ref Edge[] mustEdges,
            ref Edge[] optionalEdges, int numberOfVertices)
        {
            ConnectedComponentDivider divider=new ConnectedComponentDivider(mustEdges,numberOfVertices);

              Edge[][] comps=divider.ConnectedComponents;

              ClosureOfConnectedComps closure=new ClosureOfConnectedComps(mustEdges,
                                                                  optionalEdges,
                                                                  numberOfVertices,
                                                                  comps,this.initVertex);

              mustEdges=closure.MustEdges;
              optionalEdges=closure.OptionalEdges;
        }