Data Structures22 min read

Binary Tree Intro

Learn trees as hierarchical structures: nodes, children, traversal (DFS/BFS), and why trees appear in file systems, UI, and search problems.

David Miller
October 14, 2025
7.3k242

A tree is a hierarchical structure.

Real examples:

  • file system folders
  • HTML DOM
  • organization charts

Tree vocabulary

  • root: top node
  • child: below a node
  • leaf: node with no children

Simple binary tree node

class Node:
    def __init__(self, value, left=None, right=None):
        self.value = value
        self.left = left
        self.right = right

Build a small tree

root = Node(1, Node(2), Node(3))

DFS traversal (in-order)

def inorder(node):
    if not node:
        return
    inorder(node.left)
    print(node.value)
    inorder(node.right)

inorder(root)  # 2,1,3

BFS traversal (level order)

from collections import deque

def bfs(root):
    q = deque([root])
    while q:
        node = q.popleft()
        print(node.value)
        if node.left:
            q.append(node.left)
        if node.right:
            q.append(node.right)

bfs(root)  # 1,2,3

Graph: tree structure

flowchart TD
  A[1] --> B[2]
  A --> C[3]

Remember

  • Trees model hierarchy
  • DFS uses recursion or stack
  • BFS uses queue
#Python#Advanced#Tree