• Main Page
  • Modules
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

BipartiteGraphBicoloring/BipartiteGraphOrdering.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 BIPARTITEGRAPHORDERING_H
00024 #define BIPARTITEGRAPHORDERING_H
00025 
00026 using namespace std;
00027 
00028 namespace ColPack
00029 {
00037         class BipartiteGraphOrdering : public BipartiteGraphVertexCover
00038         {
00039         public:
00040 
00041                 int OrderVertices(string s_OrderingVariant);
00042 
00043         private:
00044 
00045                 //Private Function 3401
00046                 int CheckVertexOrdering(string s_VertexOrderingVariant);
00047 
00048         protected:
00049 
00050                 double m_d_OrderingTime;
00051 
00052                 string m_s_VertexOrderingVariant;
00053 
00054                 vector<int> m_vi_OrderedVertices;
00055 
00056         public:
00057 
00058                 //Public Constructor 3451
00059                 BipartiteGraphOrdering();
00060 
00061                 //Public Destructor 3452
00062                 ~BipartiteGraphOrdering();
00063 
00064                 //Virtual Function 3453
00065                 virtual void Clear();
00066 
00067                 //Virtual Function 3454
00068                 virtual void Reset();
00069 
00070                 //Public Function 3455
00071                 int NaturalOrdering();
00072                 int RandomOrdering();
00073 
00074                 //Public Function 3456
00075                 int LargestFirstOrdering();
00076 
00077                 //Public Function 3457
00078                 int SmallestLastOrdering();
00079 
00080                 //Public Function 3458
00081                 int IncidenceDegreeOrdering();
00082 
00083                 //Public Function 3459
00084                 int SelectiveLargestFirstOrdering();
00085 
00086                 //Public Function 3460
00087                 int SelectiveSmallestLastOrdering();
00088 
00089                 //Public Function 3461
00090                 int SelectiveIncidenceDegreeOrdering();
00091 
00092                 //Public Function 3462
00093                 int DynamicLargestFirstOrdering();
00094 
00095                 //Public Function 3463
00096                 string GetVertexOrderingVariant();
00097 
00098                 //Public Function 3464
00099                 void GetOrderedVertices(vector<int> &output);
00100 
00101                 void PrintVertexOrdering();
00102                 
00103                 double GetVertexOrderingTime();
00104         };
00105 }
00106 #endif

Generated on Tue Sep 7 2010 15:28:10 for ColPack by  doxygen 1.7.1