Sobes.tech
Junior — Middle

What methods can be used to traverse different data trees?

sobes.tech AI

Answer from AI

Tree traversal methods are usually performed using the following techniques:

  1. Depth-First Search (DFS)

    • Pre-order (root → left → right)
    • In-order (left → root → right)
    • Post-order (left → right → root)
  2. Breadth-First Search (BFS)

    • Visiting nodes level by level, starting from the root

In Go, this can be implemented recursively or using a stack/queue. For example, in-order traversal for a binary tree:

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

For breadth-first traversal, a queue is usually used:

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)
        }
    }
}
What methods can be used to traverse different data… - sobes.tech