Spaces:
Sleeping
Sleeping
| from typing import Dict, List, Set | |
| class DependencyGraph: | |
| """Maintains cross-reference and dependency relationships.""" | |
| def __init__(self): | |
| self.nodes: Set[str] = set() | |
| self.edges: Dict[str, List[str]] = {} | |
| def add_node(self, node: str): | |
| self.nodes.add(node) | |
| if node not in self.edges: | |
| self.edges[node] = [] | |
| def add_edge(self, source: str, target: str): | |
| self.add_node(source) | |
| self.add_node(target) | |
| if target not in self.edges[source]: | |
| self.edges[source].append(target) | |
| def get_dependencies(self, node: str) -> List[str]: | |
| return self.edges.get(node, []) | |