Add required data structures for DecrementalTC::init

This commit is contained in:
stefiosif
2022-07-26 20:42:38 +03:00
parent 48de05174a
commit 8e8cf23399

View File

@@ -23,31 +23,38 @@ public:
void remove(const T& u, const T& v); void remove(const T& u, const T& v);
private: private:
// Every vertex u has a pointer C(u) to the component containing it Digraph<T> G;
std::map<T, T> vc;
// For every component C, the algorithm maintains three linked lists // Every vertex u has a pointer C(u) to the component containing it
// Ein(C), Eout(C), and Eint(C) of the incoming, outgoing, and the internal std::map<T, SCC<T>> C;
// edges of the component C
// The aggregation of edges each component contains
struct LLE {
std::forward_list<T> Ein; std::forward_list<T> Ein;
std::forward_list<T> Eout; std::forward_list<T> Eout;
std::forward_list<T> Eint; std::forward_list<T> Eint;
}; };
std::map<SCC<T>, LLE> E;
// Connect each component with a tree of all reachable components
std::map<SCC<T>, std::set<SCC<T>>> TC;
};
template<typename T> template<typename T>
inline void DecrementalTC<T>::init() { void DecrementalTC<T>::init() {
} }
template<typename T> template<typename T>
inline bool DecrementalTC<T>::query(const T& u, const T& v) { bool DecrementalTC<T>::query(const T& u, const T& v) {
return false; return false;
} }
template<typename T> template<typename T>
inline void DecrementalTC<T>::remove(const T& u, const T& v) { void DecrementalTC<T>::remove(const T& u, const T& v) {
} }