1. A method comprising: determining an initial projected size of a BDD representing data for storage, the projected size corresponding to an initial projected number of decision nodes composing the BDD; determining an initial node structure for the decision nodes of the BDD according to the initial projected size of the BDD, the initial node structure comprising for each decision node a variable identifier (ID), a 1-edge pointer, and a 0-edge pointer each represented by a minimum number of bits accommodating the initial projected number of decision nodes composing the BDD; constructing the BDD according to the initial node structure; and if during construction the BDD exceeds the initial projected size: stopping construction of the BDD according to the initial data structure; determining an updated projected size of the BDD to accommodate the BDD, the updated projected size of the BDD corresponding to an updated projected number of decision nodes composing the BDD; determining an updated node structure for the decision nodes of the BDD according to the updated projected size of the BDD, the updated node structure comprising for each decision node a variable identifier (ID), a 1-edge pointer, and a 0-edge pointer each represented by a minimum number of bits accommodating the updated projected number of decision nodes composing the BDD; and reconstructing the BDD according to the updated node structure.