Menu
Coddy logo textTech

Pseudo Code

Lección 4 de 9 del curso Búsqueda en profundidad - Algoritmos de grafos de Coddy.

buildAdjacency(n, edges):
   adj = n empty lists
   for each pair (u, v) in edges:
      adj[u].add(v)
      adj[v].add(u)         # undirected
   sort every adj[i] ascending

dfs(n, edges, start):
   build adjacency
   visited = all false
   stack = [start]
   order = []
   while stack not empty:
      node = stack.pop()
      if visited[node]: continue
      visited[node] = true
      order.add(node)
      for nb in adj[node] from last to first:
         if not visited[nb]: stack.push(nb)
   return order
  • La lista de adyacencia convierte el arreglo de aristas plano en, para cada vértice, la lista ordenada de sus vecinos.
  • Insertar los vecinos del último al primero hace que la pila devuelva primero el vecino más pequeño, por lo que el orden de visita es determinista.

Pruébalo tú mismo

Esta lección no incluye un desafío de código.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Búsqueda en profundidad - Algoritmos de grafos