<commit_before>/*
 * MaxClique.h
 *
 *  Created on: 08.12.2014
 *      Author: Henning
 */

#ifndef MAXCLIQUE_H_
#define MAXCLIQUE_H_

#include "../graph/Graph.h"
#include <set>


namespace NetworKit {

/**
 * Exact algorithm for computing the largest clique in a graph.
 * Worst-case running time is exponential, but in practice the algorithm is fairly fast.
 * Reference: Pattabiraman et al., http://arxiv.org/pdf/1411.7460.pdf
 */
class MaxClique {
protected:
	const Graph& G;
	count maxi;

	/**
	 * Subroutine that
	 */
	void clique(std::set<node>& U, count size);

public:
	/**
	 * Constructor for maximum clique algorithm.
	 * @param[in] G Graph @a G for which algorithm should be run.
	 */
	MaxClique(const Graph& G);

	/**
	 * Actual maximum clique algorithm.
	 * @param[in] lb Lower bound for maximum clique size.
	 * @return Size of maximum clique.
	 */
	count run(count lb = 0);
};

} /* namespace NetworKit */
#endif /* MAXCLIQUE_H_ */
<commit_msg>max clique algorithm: test empty due to performance<commit_after>/*
 * MaxClique.h
 *
 *  Created on: 08.12.2014
 *      Author: Henning
 */

#ifndef MAXCLIQUE_H_
#define MAXCLIQUE_H_

#include "../graph/Graph.h"
#include <set>


namespace NetworKit {

/**
 * Exact algorithm for computing the largest clique in a graph.
 * Worst-case running time is exponential, but in practice the algorithm is fairly fast.
 * Reference: Pattabiraman et al., http://arxiv.org/pdf/1411.7460.pdf
 */
class MaxClique {
protected:
	const Graph& G;
	count maxi;

	/**
	 * Subroutine that goes through every relevant clique containing a certain node in
	 * a recursive fashion and computes the size of the largest.
	 */
	void clique(std::set<node>& U, count size);

public:
	/**
	 * Constructor for maximum clique algorithm.
	 * @param[in] G Graph @a G for which algorithm should be run.
	 */
	MaxClique(const Graph& G);

	/**
	 * Actual maximum clique algorithm. Determines largest clique each vertex
	 * is contained in and returns size of largest. Pruning steps keep running time
	 * acceptable in practice.
	 * @param[in] lb Lower bound for maximum clique size.
	 * @return Size of maximum clique.
	 */
	count run(count lb = 0);
};

} /* namespace NetworKit */
#endif /* MAXCLIQUE_H_ */

{'fraction_non_alphanumeric': 0.11250560286866876, 'fraction_numerical': 0.01523980277902286, 'mean_word_length': 3.3850687622789786, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2992559', 'n_tokens_mistral': 768, 'n_tokens_neox': 709, 'n_words': 258}