[−][src]Module dinotree_alg::analyze
Contains code to manipulate the dinotree data structure and some of its query algorithms to help analyze and measure their performance.
Structs
DinoTreeBuilder | Builder pattern for dinotree. |
NaiveAlgs | |
NotSorted | A version of dinotree where the elements are not sorted along each axis, like a KD Tree.
For comparison, a normal kd-tree is provided by |
NotSortedQueryBuilder | Builder for a query on a NotSorted Dinotree. |
QueryBuilder | Builder for a query on a DinoTree. |
SplitterEmpty | For cases where you don't care about any of the callbacks that Splitter provides, this implements them all to do nothing. |
Enums
BinStrat | Passed to the binning algorithm to determine if the binning algorithm should check for index out of bounds. |
Constants
DEFAULT_NUMBER_ELEM_PER_NODE | Returns the height of a dyn tree for a given number of bots. The height is chosen such that the nodes will each have a small amount of bots. If we had a node per bot, the tree would have too many levels. Too much time would be spent recursing. If we had too many bots per node, you would lose the properties of a tree, and end up with plain sweep and prune. Theory would tell you to just make a node per bot, but there is a sweet spot inbetween determined by the real-word properties of your computer. |
Traits
HasId | |
Splitter | A trait that gives the user callbacks at events in a recursive algorithm on the tree. The main motivation behind this trait was to track the time spent taken at each level of the tree during construction. |
Functions
assert_invariants | Returns false if the tree's invariants are not met. |
compute_tree_height_heuristic | Outputs the height given an desirned number of bots per node. |
nodes_left |