Exam Fomin
def read_graph_from_file(filename): with open(filename, 'r') as f: lines = f.readlines() adjacency_matrix = [[int(num) for num in line.split()] for line in lines] return adjacency_matrix def depth_first_search(graph, start): """Реалізує пошук в глибину. Args: graph: Матриця суміжності графа. start: Індекс початкової вершини. """ visited = set() # Множина відвіданих вершин stack = [start] # Стек для обходу while stack: vertex = stack.pop() if vertex not in visited: visited.add(vertex) print(vertex, end=' ') for neighbor in range(len(graph)): if graph[vertex][neighbor] == 1 and neighbor not in visited: stack.append(neighbor) def main(): """Розташування файлу graph.txt що містить матрицю суміжності 0 1 1 0 0 1 0 0 1 0 1 0 0 1 1 0 1 1 0 1 0 0 1 1 0 """ filename = "C:\\Users\\aleks\\Documents\\ХНЕУ\\2024-2025\\2024\\ASD-122\\graph.txt" # Введення графу з файлу graph = read_graph_from_file(filename) # Виведення графу for row in graph: print(row) # Пошук в глибину start_vertex = 0 # Початкова вершина depth_first_search(graph, start_vertex) if __name__ == '__main__': main()
Leave a Comment