Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
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
00058 BipartiteGraphVertexCover();
00059
00060
00061 ~BipartiteGraphVertexCover();
00062
00063
00064 virtual void Clear();
00065
00066
00067 virtual void Reset();
00068
00069
00070 int CoverVertex();
00071
00072
00073 int CoverVertex(vector<int> &);
00074
00075
00076 int CoverMinimalVertex();
00077
00078
00079 void GetIncludedLeftVertices(vector<int> &output);
00080
00081
00082 void GetIncludedRightVertices(vector<int> &output);
00083
00084
00085 void GetCoveredLeftVertices(vector<int> &output);
00086
00087
00088 void GetCoveredRightVertices(vector<int> &output);
00089
00090
00091 void PrintBicoloringVertexCover();
00092
00093 };
00094 }
00095 #endif