Sobes.tech
Junior — Middle

Ce metode pot fi utilizate pentru a parcurge diferite arbori de date?

sobes.tech AI

Răspuns de la AI

Parcurgerea arborilor de date se realizează de obicei prin următoarele metode:

  1. Parcurgerea în adâncime (DFS)

    • Pre-ordine (rădăcină → stânga → dreapta)
    • In-ordine (stânga → rădăcină → dreapta)
    • Post-ordine (stânga → dreapta → rădăcină)
  2. Parcurgerea în lățime (BFS)

    • Vizitarea nodurilor pe niveluri, începând cu rădăcina

În Go, acest lucru poate fi implementat recursiv sau folosind o stivă/coadă. De exemplu, parcurgerea în adâncime (in-ordine) pentru un copac binar:

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

Pentru parcurgerea în lățime, se folosește de obicei o coadă:

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)
        }
    }
}