19. The system of claim 17 , wherein the computing instructions are further configured such that: determining the highest solution node comprises: storing a reference to a next-highest-branch query node of the query nodes, wherein the next-highest-branch query node is a query node of the query nodes in the ending-character subtree, the next-highest-branch query node is a child node of one of the query nodes traversed when determining the highest solution node, and the subtree score of the next-highest-branch query node is a next-highest score than the score of the highest solution node; and determining the subset of the solution nodes comprises: determining a next-highest solution node of the solution nodes from among a next-highest-branch subtree that is rooted at the next-highest-branch query node.
19. The system of claim 17 , wherein the computing instructions are further configured such that: determining the highest solution node comprises: storing a reference to a next-highest-branch query node of the query nodes, wherein the next-highest-branch query node is a query node of the query nodes in the ending-character subtree, the next-highest-branch query node is a child node of one of the query nodes traversed when determining the highest solution node, and the subtree score of the next-highest-branch query node is a next-highest score than the score of the highest solution node; and determining the subset of the solution nodes comprises: determining a next-highest solution node of the solution nodes from among a next-highest-branch subtree that is rooted at the next-highest-branch query node. 20. The system of claim 19 , wherein the computing instructions are further configured such that: determining the next-highest solution node comprises: traversing the next-highest-branch subtree from the next-highest-branch query node to the next-highest solution node by repeatedly branching from a parent query node of the query nodes to a top child query node of the query nodes, wherein the subtree score of the top child query node is equal to the subtree score of the next-highest-branch query node.