Bird
Raised Fist0
Data Structures Theoryknowledge~30 mins

Height and depth of trees in Data Structures Theory - Mini Project: Build & Apply

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Height and Depth of Trees
📖 Scenario: Imagine you are organizing a family tree. Each person is connected to their parents and children, forming a tree structure. Understanding the height and depth of each person in this tree helps you know how far they are from the oldest ancestor or from the root of the tree.
🎯 Goal: You will build a simple representation of a tree using a dictionary. Then, you will calculate the depth of each node (person) from the root and find the height of the tree, which is the longest path from the root to any leaf.
📋 What You'll Learn
Create a dictionary representing a tree with exact nodes and their children
Add a variable to store the root node of the tree
Write a function to calculate the depth of each node from the root
Calculate and store the height of the tree based on the depths
💡 Why This Matters
🌍 Real World
Understanding height and depth in trees helps in organizing hierarchical data like family trees, company structures, or file systems.
💼 Career
Knowledge of tree structures and their properties is essential for roles in software development, data analysis, and database management.
Progress0 / 4 steps
1
Create the tree data structure
Create a dictionary called family_tree with these exact entries: 'Grandparent': ['Parent1', 'Parent2'], 'Parent1': ['Child1', 'Child2'], 'Parent2': ['Child3'], 'Child1': [], 'Child2': [], 'Child3': [].
Data Structures Theory
Hint

Use a dictionary where keys are node names and values are lists of their children.

2
Set the root of the tree
Create a variable called root and set it to the string 'Grandparent' to represent the root node of the tree.
Data Structures Theory
Hint

The root is the top-most ancestor in the tree.

3
Calculate depth of each node
Write a function called calculate_depths that takes tree, node, and depth as parameters. It should return a dictionary with nodes as keys and their depths as values. Use recursion to visit each child, increasing depth by 1. Call this function with family_tree, root, and 0 and store the result in depths.
Data Structures Theory
Hint

Use recursion to assign depth to each node, starting from 0 at the root.

4
Calculate the height of the tree
Create a variable called height and set it to the maximum value in the depths dictionary. This represents the height of the tree.
Data Structures Theory
Hint

The height is the largest depth value among all nodes.

Practice

(1/5)
1. What does the depth of a node in a tree represent?
easy
A. The number of edges from the root to that node
B. The number of edges from that node to the farthest leaf
C. The total number of nodes in the tree
D. The number of children the node has

Solution

  1. Step 1: Understand the definition of depth

    Depth is defined as the distance from the root node to the given node, measured in edges.
  2. Step 2: Compare with other options

    Height measures distance to farthest leaf, not depth. Total nodes and children count are unrelated.
  3. Final Answer:

    The number of edges from the root to that node -> Option A
  4. Quick Check:

    Depth = edges from root to node [OK]
Hint: Depth counts edges from root down to the node [OK]
Common Mistakes:
  • Confusing depth with height
  • Thinking depth counts children
  • Mixing depth with total nodes
2. Which of the following correctly describes the height of a leaf node in a tree?
easy
A. Height is always 1
B. Height is 0 because it has no children
C. Height equals the depth of the leaf
D. Height is the number of siblings it has

Solution

  1. Step 1: Recall height definition for any node

    Height is the number of edges on the longest path from the node down to a leaf.
  2. Step 2: Apply to leaf node

    A leaf node has no children, so the longest path down is zero edges, making height 0.
  3. Final Answer:

    Height is 0 because it has no children -> Option B
  4. Quick Check:

    Leaf height = 0 edges down [OK]
Hint: Leaf nodes always have height zero [OK]
Common Mistakes:
  • Assuming height is 1 for leaves
  • Confusing height with depth
  • Counting siblings as height
3. Consider the following tree structure:
        A
       / \
      B   C
     /   / \
    D   E   F
           /
          G

What is the height of node C?
medium
A. 0
B. 1
C. 3
D. 2

Solution

  1. Step 1: Identify the subtree rooted at node C

    Node C has children E and F; F has child G.
  2. Step 2: Find longest path from C down to a leaf

    Paths: C->E (1 edge), C->F->G (2 edges). Longest path length is 2 edges.
  3. Final Answer:

    2 -> Option D
  4. Quick Check:

    Height of C = longest path down = 2 edges [OK]
Hint: Height = longest edges down from node [OK]
Common Mistakes:
  • Counting number of children instead of edges
  • Confusing height with depth
  • Ignoring deeper descendants
4. A student wrote that the depth of the root node in any tree is 1. What is wrong with this statement?
medium
A. Depth depends on number of children, not fixed
B. Depth of root is always equal to height
C. Depth of root is always 0, not 1
D. Depth cannot be defined for root node

Solution

  1. Step 1: Recall definition of depth for root

    Depth is edges from root to node; root is at distance zero from itself.
  2. Step 2: Identify error in student's statement

    Student incorrectly assigns depth 1 to root; correct depth is 0.
  3. Final Answer:

    Depth of root is always 0, not 1 -> Option C
  4. Quick Check:

    Root depth = 0 edges [OK]
Hint: Root node depth is zero by definition [OK]
Common Mistakes:
  • Assigning depth 1 to root
  • Confusing depth with height
  • Thinking depth depends on children
5. Given a tree where the root node has depth 0 and height 4, and a node at depth 3 has height 1, what is the height of a leaf node at depth 4?
hard
A. 0
B. 1
C. 3
D. 4

Solution

  1. Step 1: Understand height of leaf nodes

    Leaf nodes have height 0 because they have no children below.
  2. Step 2: Apply to leaf at depth 4

    Since the node at depth 3 has height 1, its child at depth 4 must be a leaf with height 0.
  3. Final Answer:

    0 -> Option A
  4. Quick Check:

    Leaf node height = 0 [OK]
Hint: Leaf nodes always have height zero regardless of depth [OK]
Common Mistakes:
  • Assuming height equals depth
  • Thinking height increases with depth
  • Confusing height with number of siblings