Add BreadthFirstTree's to decremental maintenance algorithm and delete In/Out tree classes

This commit is contained in:
stefiosif
2022-07-20 23:04:06 +03:00
parent 227749b9e4
commit 31567f9e57
4 changed files with 24 additions and 68 deletions

View File

@@ -1,27 +1,27 @@
#ifndef BREADTH_FIRST_TREE_H_
#define BREADTH_FIRST_TREE_H_
#include "out_tree.h"
#include "directed_rooted_tree.h"
#include "algorithm/breadth_first_search.h"
using namespace graph;
namespace tree {
template<typename T>
class BreadthFirstTree : public OutTree<T> {
class BreadthFirstTree : public DirectedRootedTree<T> {
public:
BreadthFirstTree() = default;
BreadthFirstTree(Digraph<T> G, T root);
BreadthFirstTree(std::map<T, std::set<T>> G)
: OutTree<T>::OutTree(G) {}
: DirectedRootedTree<T>::DirectedRootedTree(G) {}
};
template<typename T>
BreadthFirstTree<T>::BreadthFirstTree(Digraph<T> G, T root) {
auto bfs = algo::BreadthFirstSearch<T>(G).execute(root);
Graph<T>::adjMatrix = bfs;
this->adjMatrix = bfs;
}
} // namespace tree