Beispiel #1
0
        public int[] GetFullElementsIndexesWithMaxAlfaMaxSize(int element_index, int max_full_size, EdgeValueType max_alpha)
        {
            IMaxTreeNode <EdgeValueType> node = min_tree.GetNode(element_index);
            EdgeValueType min_alpha           = this.algebra.Subtract(this.max_edge_value, max_alpha);

            while ((node.Parent != null) && (this.algebra.Compare(min_alpha, node.Parent.Value) == -1) && (max_full_size > node.Parent.CulmativeFullSize))
            {
                node = node.Parent;
            }
            return(node.GetElementIndexArrayCulmativeFull());
        }
Beispiel #2
0
        public int[] GetFullElementsIndexesOfElementLevelAndAbove(
            int element_index,
            ElementType level)
        {
            IMaxTreeNode <ElementType> node = this.d_elements_to_nodes[element_index];

            while ((node.Parent != null) && (this.element_value_comparer.Compare(level, node.Parent.Value) == -1))
            {
                node = node.Parent;
            }
            return(node.GetElementIndexArrayCulmativeFull());
        }