1. A non-transitory computer-readable medium having stored thereon computer-readable instructions that when executed by a computing device cause the computing device to: read first observation data from data selected to convert to tree data, wherein the first observation data includes a value for each of a plurality of variables; initialize a first node memory structure for the tree data for a first variable of the plurality of variables, wherein the first node memory structure includes a first value indicator, a first counter value, and a first observation indicator, wherein the first value indicator is initialized with a first value of the first variable selected from the first observation data and the first observation indicator is initialized with a first indicator that indicates the first observation data; (a) read second observation data from the data, wherein the second observation data includes a next value for each of the plurality of variables; (b) identify a second value of the first variable from the second observation data; (c) compare the first value of the first variable to the second value of the first variable; (d) increment the first counter value included in the first node memory structure when the first value of the first variable matches the second value of the first variable; (e) identify values of the remaining variables of the plurality of variables from the first observation data using the first observation indicator when the first value of the first variable matches the second value of the first variable; (f) compare corresponding values of the remaining variables of the plurality of variables of the second observation data to the identified values of the remaining variables of the plurality of variables from the first observation data when the first value of the first variable matches the second value of the first variable; (g) when the first value of the first variable matches the second value of the first variable and when the identified values do not match the corresponding values, determine a last matching node memory structure; determine a current variable as a first variable at which the identified values do not match the corresponding values; identify a second observation indicator from the last matching node memory structure, wherein the second observation indicator indicates last matching node observation data; initialize a second node memory structure for the determined current variable of the plurality of variables, wherein the second node memory structure includes a second value indicator, a second counter value, and a second observation indicator, wherein the second value indicator is initialized with a first value of the current variable selected from the last matching node observation data and the second observation indicator is initialized with a second indicator that indicates the last matching node observation data; and initialize a third node memory structure for the determined current variable of the plurality of variables, wherein the third node memory structure includes a third value indicator, a third counter value, and a third observation indicator, wherein the third value indicator is initialized with a second value of the current variable selected from the second observation data and the third observation indicator is initialized with a third indicator that indicates the second observation data; (h) repeat (a) to (g) with the next observation from the data as the second observation vector until a last observation of the data is processed; and output the tree data.