private void validateStructure(DynamicTreeNode node) { if (node == null) { return; } assert (node == m_nodes[node.id]); if (node == m_root) { assert (node.parent == null); } DynamicTreeNode child1 = node.child1; DynamicTreeNode child2 = node.child2; if (node.child1 == null) { assert (child1 == null); assert (child2 == null); assert (node.height == 0); return; } assert (child1 != null && 0 <= child1.id && child1.id < m_nodeCapacity); assert (child2 != null && 0 <= child2.id && child2.id < m_nodeCapacity); assert (child1.parent == node); assert (child2.parent == node); validateStructure(child1); validateStructure(child2); }
/** * Validate this tree. For testing. */ public void validate() { validateStructure(m_root); validateMetrics(m_root); int freeCount = 0; DynamicTreeNode freeNode = m_freeList != NULL_NODE ? m_nodes[m_freeList] : null; while (freeNode != null) { assert (0 <= freeNode.id && freeNode.id < m_nodeCapacity); assert (freeNode == m_nodes[freeNode.id]); freeNode = freeNode.parent; ++freeCount; } assert (getHeight() == computeHeight()); assert (m_nodeCount + freeCount == m_nodeCapacity); }
private void validateStructure(DynamicTreeNode node) { if (node == null) { return; } assert (node == m_nodes[node.id]); if (node == m_root) { assert (node.parent == null); } DynamicTreeNode child1 = node.child1; DynamicTreeNode child2 = node.child2; if (node.child1 == null) { assert (child1 == null); assert (child2 == null); assert (node.height == 0); return; } assert (child1 != null && 0 <= child1.id && child1.id < m_nodeCapacity); assert (child2 != null && 0 <= child2.id && child2.id < m_nodeCapacity); assert (child1.parent == node); assert (child2.parent == node); validateStructure(child1); validateStructure(child2); }
/** * Validate this tree. For testing. */ public void validate() { validateStructure(m_root); validateMetrics(m_root); int freeCount = 0; DynamicTreeNode freeNode = m_freeList != NULL_NODE ? m_nodes[m_freeList] : null; while (freeNode != null) { assert (0 <= freeNode.id && freeNode.id < m_nodeCapacity); assert (freeNode == m_nodes[freeNode.id]); freeNode = freeNode.parent; ++freeCount; } assert (getHeight() == computeHeight()); assert (m_nodeCount + freeCount == m_nodeCapacity); }
private void validateStructure(DynamicTreeNode node) { if (node == null) { return; } assert (node == m_nodes[node.id]); if (node == m_root) { assert (node.parent == null); } DynamicTreeNode child1 = node.child1; DynamicTreeNode child2 = node.child2; if (node.child1 == null) { assert (child1 == null); assert (child2 == null); assert (node.height == 0); return; } assert (child1 != null && 0 <= child1.id && child1.id < m_nodeCapacity); assert (child2 != null && 0 <= child2.id && child2.id < m_nodeCapacity); assert (child1.parent == node); assert (child2.parent == node); validateStructure(child1); validateStructure(child2); }
private void validateStructure(DynamicTreeNode node) { if (node == null) { return; } assert (node == m_nodes[node.id]); if (node == m_root) { assert (node.parent == null); } DynamicTreeNode child1 = node.child1; DynamicTreeNode child2 = node.child2; if (node.child1 == null) { assert (child1 == null); assert (child2 == null); assert (node.height == 0); return; } assert (child1 != null && 0 <= child1.id && child1.id < m_nodeCapacity); assert (child2 != null && 0 <= child2.id && child2.id < m_nodeCapacity); assert (child1.parent == node); assert (child2.parent == node); validateStructure(child1); validateStructure(child2); }
private void validateStructure(DynamicTreeNode node) { if (node == null) { return; } assert (node == m_nodes[node.id]); if (node == m_root) { assert (node.parent == null); } DynamicTreeNode child1 = node.child1; DynamicTreeNode child2 = node.child2; if (node.isLeaf()) { assert (child1 == null); assert (child2 == null); assert (node.height == 0); return; } assert (child1 != null && 0 <= child1.id && child1.id < m_nodeCapacity); assert (child2 != null && 0 <= child2.id && child2.id < m_nodeCapacity); assert (child1.parent == node); assert (child2.parent == node); validateStructure(child1); validateStructure(child2); }
/** * Validate this tree. For testing. */ public void validate() { validateStructure(m_root); validateMetrics(m_root); int freeCount = 0; DynamicTreeNode freeNode = m_freeList != NULL_NODE ? m_nodes[m_freeList] : null; while (freeNode != null) { assert (0 <= freeNode.id && freeNode.id < m_nodeCapacity); assert (freeNode == m_nodes[freeNode.id]); freeNode = freeNode.parent; ++freeCount; } assert (getHeight() == computeHeight()); assert (m_nodeCount + freeCount == m_nodeCapacity); }
/** * Validate this tree. For testing. */ public void validate() { validateStructure(m_root); validateMetrics(m_root); int freeCount = 0; DynamicTreeNode freeNode = m_freeList != NULL_NODE ? m_nodes[m_freeList] : null; while (freeNode != null) { assert (0 <= freeNode.id && freeNode.id < m_nodeCapacity); assert (freeNode == m_nodes[freeNode.id]); freeNode = freeNode.parent; ++freeCount; } assert (getHeight() == computeHeight()); assert (m_nodeCount + freeCount == m_nodeCapacity); }
/** * Validate this tree. For testing. */ public void validate() { validateStructure(m_root); validateMetrics(m_root); int freeCount = 0; DynamicTreeNode freeNode = m_freeList != NULL_NODE ? m_nodes[m_freeList] : null; while (freeNode != null) { assert (0 <= freeNode.id && freeNode.id < m_nodeCapacity); assert (freeNode == m_nodes[freeNode.id]); freeNode = freeNode.parent; ++freeCount; } assert (getHeight() == computeHeight()); assert (m_nodeCount + freeCount == m_nodeCapacity); }