FS.h 602 B

1234567891011121314151617181920212223242526
  1. #pragma once
  2. #include "graph.h"
  3. class BFS
  4. {
  5. typedef set<Node*>::const_iterator node_iterator;
  6. const Graph& graph;
  7. public:
  8. BFS(const Graph& agraph) : graph(agraph) {}
  9. bool connected(Node* begin, Node* end);
  10. friend Graph;
  11. friend Node;
  12. };
  13. class DFS {
  14. typedef set<Node*>::const_iterator node_iterator;
  15. private:
  16. const Graph& graph;
  17. set<Node*> visited;
  18. bool connected(Node* begin, Node* end, int depth);
  19. public:
  20. DFS(const Graph& agraph) : graph(agraph) {}
  21. bool connected(Node* begin, Node* end);
  22. friend Graph;
  23. friend Node;
  24. };