$T$ is the risk minimizer, we do not make any partition in this step and mark the node $A$ as “complete”. Any node marked as complete will no longer be partitioned in subsequent steps.

It remains to specify the ‘breadth-first’ searching order determining which node to partition in each step. Let depth of a node be the number of edges to the root node, which has depth 0. Breadth-first algorithms explore all nodes at the current depth before moving on (@cormen2009introduction, chapter 22.2). To keep track of changes in the tree, we use a queue[^3]. We begin our algorithm with a queue where the only entity is the root node. At each step, we remove the node at the front terminal of the queue, and partition at this node as described in the previous paragraph. If a partitioned tree is accepted as the risk minimizer over the current set $\mathscr{F}$, we enqueue two new leaf nodes; otherwise, the unpartitioned tree is the risk minimizer over the current set $\mathscr{F}$, so we don’t enqueue any new node. The nodes in the front of the queue have the lowest depth. Therefore, our algorithm naturally follows a breadth-first searching order. We preset the 