1. A computer-implemented method of random sampling of nodes of a hierarchical data structure in memory of a digital computer, said hierarchical data structure defining a plurality of nodes including intermediate nodes and leaf nodes, each of said intermediate nodes being defined by said hierarchical data structure as a child of another one of said plurality of nodes, and each of said intermediate nodes being defined as a parent of another one of said plurality of nodes, each of said leaf nodes being defined as a child of another one of said plurality of nodes, and each of said leaf nodes having an assigned weight; said method comprising the steps of: a) said digital computer assigning a weight to each of said intermediate nodes such that the weight assigned to each intermediate node is not less than a sum of the weights assigned to the children of said each intermediate node, and at least some of said intermediate nodes have a weight that is greater than the sum of the weights assigned to the children of said each intermediate node; and then b) said digital computer selecting one of said intermediate nodes, the selection of said one of said intermediate nodes being based on the weight of said one of said intermediate nodes such that selecting said one of said intermediate nodes has a probability proportional to the weight of said one of said intermediate nodes; and then c) said digital computer performing a random acceptance/rejection selection of a node which is a selected child of the node selected in the previous step, said random acceptance/rejection being weighted proportional to the weight of the selected child of the node selected in the previous step, and said random acceptance/rejection being weighted inversely proportional to the weight of the node selected in the previous step; and then d) said digital computer repeating said step c) until a leaf node is selected by said random acceptance/rejection selection in said step c); and then e) said digital computer retrieving, from said memory, a data item that is indexed by the selected leaf node, whereby a random selection of a selected leaf node and an indexed data item is obtained and the random selection of the selected leaf node and the indexed data item is weighted by the assigned weight of the selected leaf node.