Decomposition

Decomposition is the practice of breaking a complex problem into smaller, more manageable parts. Instead of dealing with the whole problem at once, each part is handled individually. It is commonly used as an early step in Computational Thinking, though it does not always have to come first. The goal is clarity—making complexity easier to reason about. Decomposition is closely related to the idea of divide and conquer: solving a big problem by first splitting it into smaller ones.

Divide and conquer decomposition is a fundamental algorithmic paradigm that solves complex problems by breaking them into smaller, independent subproblems of the same type, solving them recursively, and combining the solutions. It involves three key steps: dividing the problem, conquering (solving) subproblems, and combining results.

Key Aspects of Divide and Conquer Decomposition

Process Steps:
    Divide: The problem is split into smaller, manageable subproblems, often recursively.
    Conquer: Subproblems are solved independently, typically using recursion.
    Combine: Solutions to the subproblems are merged to form the solution to the original, larger problem.

Why It Matters

  • Smaller problems are easier to understand and solve
  • Work becomes more efficient when tasks are divided within a team
  • Debugging and testing become simpler, especially in programming
  • Algorithm design becomes clearer and more structured

A Simple Example

Imagine you want to make fried rice. Instead of thinking about the dish as one big task, you break it down:

  • What ingredients are needed
  • What steps are involved
  • In what order those steps should happen

By decomposing the process, cooking becomes more organized and easier to execute.


Built slowly, with curiosity and love. © 2026 Achly .

This site uses Just the Docs, a documentation theme for Jekyll.