0
0
DSA Goprogramming~20 mins

Binary Tree Node Structure in DSA Go - Practice Problems & Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Binary Tree Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
2:00remaining
Output of Inorder Traversal on Binary Tree
What is the output of the inorder traversal on the given binary tree?
DSA Go
package main

import "fmt"

type Node struct {
    Val   int
    Left  *Node
    Right *Node
}

func inorder(root *Node) {
    if root == nil {
        return
    }
    inorder(root.Left)
    fmt.Print(root.Val, " -> ")
    inorder(root.Right)
}

func main() {
    root := &Node{Val: 1}
    root.Left = &Node{Val: 2}
    root.Right = &Node{Val: 3}
    root.Left.Left = &Node{Val: 4}
    root.Left.Right = &Node{Val: 5}
    inorder(root)
    fmt.Print("null\n")
}
A4 -> 2 -> 5 -> 1 -> 3 -> null
B4 -> 5 -> 2 -> 3 -> 1 -> null
C1 -> 3 -> 2 -> 4 -> 5 -> null
D1 -> 2 -> 3 -> 4 -> 5 -> null
Attempts:
2 left
💡 Hint
Inorder traversal visits left subtree, then node, then right subtree.
Predict Output
intermediate
2:00remaining
Output of Preorder Traversal on Binary Tree
What is the output of the preorder traversal on the given binary tree?
DSA Go
package main

import "fmt"

type Node struct {
    Val   int
    Left  *Node
    Right *Node
}

func preorder(root *Node) {
    if root == nil {
        return
    }
    fmt.Print(root.Val, " -> ")
    preorder(root.Left)
    preorder(root.Right)
}

func main() {
    root := &Node{Val: 1}
    root.Left = &Node{Val: 2}
    root.Right = &Node{Val: 3}
    root.Left.Left = &Node{Val: 4}
    root.Left.Right = &Node{Val: 5}
    preorder(root)
    fmt.Print("null\n")
}
A2 -> 4 -> 5 -> 1 -> 3 -> null
B4 -> 2 -> 5 -> 1 -> 3 -> null
C1 -> 2 -> 4 -> 5 -> 3 -> null
D1 -> 3 -> 2 -> 4 -> 5 -> null
Attempts:
2 left
💡 Hint
Preorder traversal visits node first, then left subtree, then right subtree.
🔧 Debug
advanced
2:00remaining
Identify the Error in Binary Tree Node Initialization
What error will this code produce when trying to create a binary tree node?
DSA Go
package main

type Node struct {
    Val   int
    Left  *Node
    Right *Node
}

func main() {
    var root Node
    root.Val = 1
    root.Left.Val = 2
}
Acompilation error: cannot assign to struct field
Bruntime error: invalid memory address or nil pointer dereference
Cno error, code runs successfully
Dcompilation error: missing type declaration
Attempts:
2 left
💡 Hint
Check if the Left pointer is initialized before accessing its fields.
🧠 Conceptual
advanced
1:30remaining
Number of Nodes in a Full Binary Tree of Height h
What is the total number of nodes in a full binary tree of height h (where height is number of edges from root to deepest leaf)?
A2^h
B2^h - 1
C2^(h+1)
D2^(h+1) - 1
Attempts:
2 left
💡 Hint
A full binary tree doubles nodes at each level plus one root.
🚀 Application
expert
2:30remaining
Resulting Tree Structure After Insertions
Given an empty binary search tree, insert the values in this order: 10, 5, 15, 3, 7, 12, 18. What is the inorder traversal output?
A3 -> 5 -> 7 -> 10 -> 12 -> 15 -> 18 -> null
B10 -> 5 -> 3 -> 7 -> 15 -> 12 -> 18 -> null
C18 -> 15 -> 12 -> 10 -> 7 -> 5 -> 3 -> null
D5 -> 3 -> 7 -> 10 -> 15 -> 12 -> 18 -> null
Attempts:
2 left
💡 Hint
Inorder traversal of a BST outputs sorted values.