ColPack
BipartiteGraphBicoloring/BipartiteGraphVertexCover.h
Go to the documentation of this file.
00001 /************************************************************************************
00002     Copyright (C) 2005-2008 Assefaw H. Gebremedhin, Arijit Tarafdar, Duc Nguyen,
00003     Alex Pothen
00004 
00005     This file is part of ColPack.
00006 
00007     ColPack is free software: you can redistribute it and/or modify
00008     it under the terms of the GNU Lesser General Public License as published
00009     by the Free Software Foundation, either version 3 of the License, or
00010     (at your option) any later version.
00011 
00012     ColPack is distributed in the hope that it will be useful,
00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015     GNU Lesser General Public License for more details.
00016 
00017     You should have received a copy of the GNU Lesser General Public License
00018     along with ColPack.  If not, see <http://www.gnu.org/licenses/>.
00019 ************************************************************************************/
00020 
00021 using namespace std;
00022 
00023 #ifndef BIPARTITEGRAPHVERTEXCOVER_H
00024 #define BIPARTITEGRAPHVERTEXCOVER_H
00025 
00026 namespace ColPack
00027 {
00042         class BipartiteGraphVertexCover : public BipartiteGraphInputOutput
00043         {
00044 
00045         protected:
00046 
00047                 double m_d_CoveringTime;
00048 
00049                 vector<int> m_vi_IncludedLeftVertices;
00050                 vector<int> m_vi_IncludedRightVertices;
00051 
00052                 vector<int> m_vi_CoveredLeftVertices;
00053                 vector<int> m_vi_CoveredRightVertices;
00054 
00055         public:
00056 
00057                 //Public Constructor 3351
00058                 BipartiteGraphVertexCover();
00059 
00060                 //Public Destructor 3352
00061                 ~BipartiteGraphVertexCover();
00062 
00063                 //Virtual Function 3353
00064                 virtual void Clear();
00065 
00066                 //Virtual Function 3354
00067                 virtual void Reset();
00068 
00069                 //Public Function 3355
00070                 int CoverVertex();
00071 
00072                 //Public Function 3356
00073                 int CoverVertex(vector<int> &);
00074 
00075                 //Public Function 3357
00076                 int CoverMinimalVertex();
00077 
00078                 //Public Function 3358
00079                 void GetIncludedLeftVertices(vector<int> &output);
00080 
00081                 //Public Function 3359
00082                 void GetIncludedRightVertices(vector<int> &output);
00083 
00084                 //Public Function 3360
00085                 void GetCoveredLeftVertices(vector<int> &output);
00086 
00087                 //Public Function 3361
00088                 void GetCoveredRightVertices(vector<int> &output);
00089 
00090                 //Public Function 3362
00091                 void PrintBicoloringVertexCover();
00092 
00093         };
00094 }
00095 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines