Sobes.tech
Junior — Middle

Welke methoden kunnen worden gebruikt om verschillende gegevensbomen te doorlopen?

sobes.tech AI

Antwoord van AI

Het doorlopen van gegevensbomen wordt meestal uitgevoerd met de volgende methoden:

  1. Diepte-eerst zoeken (DFS)

    • Pre-order (wortel → links → rechts)
    • In-order (links → wortel → rechts)
    • Post-order (links → rechts → wortel)
  2. Breedte-eerst zoeken (BFS)

    • Bezoek de knooppunten per niveau, beginnend bij de wortel

In Go kan dit recursief of met behulp van een stack/queue worden geïmplementeerd. Bijvoorbeeld, diepte-eerst zoeken (in-order) voor een binaire boom:

func inOrder(node *Node) {
    if node == nil {
        return
    }
    inOrder(node.Left)
    fmt.Println(node.Value)
    inOrder(node.Right)
}

Voor breedte-eerst zoeken wordt meestal een wachtrij gebruikt:

func bfs(root *Node) {
    if root == nil {
        return
    }
    queue := []*Node{root}
    for len(queue) > 0 {
        current := queue[0]
        queue = queue[1:]
        fmt.Println(current.Value)
        if current.Left != nil {
            queue = append(queue, current.Left)
        }
        if current.Right != nil {
            queue = append(queue, current.Right)
        }
    }
}