https://hal.archives-ouvertes.fr/hal-03445891
Raw File
dilworthdecomposition.h
/***************************************************************************
 *   Copyright (C) 2007 by Sid Touati   *
 *   Sid-nospamDOTTouati-nospam@inria.fr   *
 *   Copyright INRIA and University of Versailles (France)                 *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 *   This program is distributed in the hope that it will be useful,       *
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
 *   GNU General Public License for more details.                          *
 *                                                                         *
 *   You should have received a copy of the GNU General Public License     *
 *   along with this program; if not, write to the                         *
 *   Free Software Foundation, Inc.,                                       *
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
 ***************************************************************************/
#ifndef __dilworthdecomposition_H
#define __dilworthdecomposition_H

/*! \file dilworthdecomposition.h
\brief This is the C++ header file of Dilworth decomposition implementation. To be included for use.
*/

#include "LEDA/graph/graph.h"
#include "LEDA/core/set.h"
#include "LEDA/graph/graph_misc.h" /* Is_Acyclic */
#include "LEDA/graph/node_list.h"
#include "LEDA/graph/basic_graph_alg.h" /* transitive closure */
#include "LEDA/graph/mcb_matching.h" /* bipartie matching algorithm */
#include "LEDA/core/d_array.h" // d_array


using namespace LEDA;
using namespace std;

/* set->list conversion */
template<class T> list<T> set_to_list(const set<T> l);
/* list->set conversion */
template<class T> set<T> list_to_set(const list<T> l);







int MAXIMAL_ANTI_CHAIN(const graph &G, set<node>& MA);



int MINIMAL_CHAIN(const graph &G, node_array<int>& chain);


#endif

back to top