A tree organizes data in a hierarchy with a root node and child nodes, showing parent-child relationships clearly.
Click to reveal answer
beginner
How does an array store data compared to a tree?
An array stores data in a flat, linear order with fixed positions, without showing any hierarchy between elements.
Click to reveal answer
beginner
Why might a linked list be less suitable than a tree when hierarchy matters?
A linked list connects elements in a single line, so it cannot represent multiple levels or branches like a tree can.
Click to reveal answer
intermediate
In what scenario is a tree preferred over an array or linked list?
When you need to represent data with multiple levels and branches, like a family tree or file system, a tree is preferred.
Click to reveal answer
intermediate
What is a limitation of arrays when dealing with hierarchical data?
Arrays cannot naturally show parent-child relationships or branching; they only hold elements in a simple sequence.
Click to reveal answer
Which data structure best represents hierarchical data with multiple branches?
AStack
BTree
CLinked List
DArray
✗ Incorrect
Trees show parent-child relationships and branching, making them ideal for hierarchical data.
What is a main characteristic of arrays?
AElements linked with pointers
BElements connected in a hierarchy
CElements stored in a fixed linear order
DElements stored randomly
✗ Incorrect
Arrays store elements in a fixed linear order with direct access by index.
Why is a linked list not ideal for representing hierarchical data?
AIt is slower than arrays
BIt uses too much memory
CIt cannot store data
DIt only connects elements in a single line
✗ Incorrect
Linked lists connect elements one after another, so they cannot represent multiple branches or levels.
Which data structure allows quick access to elements by index?
AArray
BLinked List
CTree
DGraph
✗ Incorrect
Arrays allow direct access to elements using their index positions.
When hierarchy matters, which data structure is least suitable?
AArray
BTree
CLinked List
DBinary Search Tree
✗ Incorrect
Arrays do not show hierarchy or parent-child relationships, making them less suitable when hierarchy matters.
Explain how trees, arrays, and linked lists differ when representing hierarchical data.
Think about how each structure connects or organizes elements.
You got /3 concepts.
Describe a real-life example where a tree is better than an array or linked list.
Consider situations with parents and children relationships.
You got /3 concepts.
Practice
(1/5)
1. Which data structure is best suited to represent hierarchical relationships like a family tree?
easy
A. Tree
B. Array
C. Linked List
D. Hash Map
Solution
Step 1: Understand hierarchy representation
Hierarchies require parent-child relationships, which trees naturally represent.
Step 2: Compare data structures
Arrays and linked lists are linear and do not represent branching well; trees do.
Final Answer:
Tree -> Option A
Quick Check:
Hierarchy needs branching = Tree [OK]
Hint: Hierarchy means branching; trees model branching best [OK]
Common Mistakes:
Choosing array for hierarchy
Confusing linked list with tree
Ignoring parent-child links
2. Which of the following is the correct way to declare a slice of integers in Go?
easy
A. var nums [5]int
B. var nums (int)
C. var nums int[]
D. var nums []int
Solution
Step 1: Recall Go slice syntax
Slices are declared with [] before the type, like []int.
Step 2: Check options
var nums []int uses var nums []int which is correct slice declaration.
Final Answer:
var nums []int -> Option D
Quick Check:
Slice syntax = []type [OK]
Hint: Slices use []type syntax, arrays use [size]type [OK]
Common Mistakes:
Using array syntax for slices
Placing brackets after type
Using parentheses instead of brackets
3. Consider the following Go code that builds a simple tree node struct and links children:
package main
import "fmt"
type Node struct {
value int
children []*Node
}
func main() {
root := &Node{value: 1}
child1 := &Node{value: 2}
child2 := &Node{value: 3}
root.children = append(root.children, child1, child2)
fmt.Println(root.children[1].value)
}
What is the output of this program?
medium
A. 3
B. 2
C. 1
D. Compilation error
Solution
Step 1: Understand tree node structure
Root node has value 1 and two children with values 2 and 3.
Step 2: Trace the print statement
root.children[1] accesses second child, which has value 3, so prints 3.
Final Answer:
3 -> Option A
Quick Check:
Second child value = 3 [OK]
Hint: Index 1 in children slice is second child [OK]
Common Mistakes:
Confusing index 0 and 1
Assuming root value prints
Thinking children is a single node
4. The following Go code attempts to create a linked list node and print its value:
package main
import "fmt"
type Node struct {
value int
next *Node
}
func main() {
node := Node{value: 10}
fmt.Println(node.next.value)
}
What is the issue with this code?
medium
A. Missing import for fmt package
B. Syntax error in struct declaration
C. node.next is nil, accessing value causes runtime panic
D. node.value is uninitialized
Solution
Step 1: Analyze node initialization
node.next is not set, so it is nil by default.
Step 2: Accessing node.next.value
Accessing value on nil pointer causes runtime panic (nil dereference).
Final Answer:
node.next is nil, accessing value causes runtime panic -> Option C
Quick Check:
Nil pointer access causes panic [OK]
Hint: Check for nil before accessing pointer fields [OK]
Common Mistakes:
Ignoring nil pointer dereference
Assuming default values for pointers
Missing import is not the main issue
5. You need to store a company's organizational chart where each employee can have multiple direct reports. Which data structure is best and why?
Options:
A) Use an array because it stores elements contiguously.
B) Use a tree because it naturally models hierarchical relationships.
C) Use a linked list because it allows easy insertion.
D) Use a hash map because it provides fast lookups.
medium
A. Use an array because it stores elements contiguously.
B. Use a tree because it naturally models hierarchical relationships.
C. Use a linked list because it allows easy insertion.
D. Use a hash map because it provides fast lookups.
Solution
Step 1: Understand organizational chart structure
It is hierarchical with multiple direct reports per employee.
Step 2: Evaluate data structure suitability
Arrays and linked lists are linear, not hierarchical. Hash maps are for key-value pairs, not hierarchy.
Step 3: Choose tree for hierarchy
Trees model parent-child relationships naturally, perfect for org charts.
Final Answer:
Use a tree because it naturally models hierarchical relationships. -> Option B
Quick Check:
Hierarchy needs tree structure [OK]
Hint: Hierarchy means tree; arrays and lists are linear [OK]
Common Mistakes:
Choosing array or list for hierarchy
Confusing fast lookup with hierarchy modeling
Ignoring multiple children per node
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.