Tree Traversal Backtracking Using Bit Trail Variables

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for tree data structure traversal with backtracking face performance and storage size issues, necessitating an efficient solution for constant-time traversal and backtracking.

Innovation Solution

The method involves maintaining a bit trail variable and a current key variable during tree traversal, using these variables for backtracking, and employing a perfect hash map to map node keys to memory addresses, allowing for constant-time backtracking and node access without the need for a stack.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If a stack is used for backtracking during tree traversal, then backtracking can be performed, but memory overhead and access time increase

Engineering Contradiction:
Improvebacktracking timeVSAvoidmemory overhead
Core Design Contradiction:
Loss of timeVSQuantity of substance

Solution Approach 1:

The patent extracts the backtracking information from a traditional stack structure and stores it directly in compact fields within each tree node. This eliminates the separate stack memory overhead while enabling constant-time backtracking operations by directly accessing the stored parent and sibling pointers in the node structure itself.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent merges the backtracking data structure with the tree node structure by incorporating parent pointers and sibling pointers directly into each node. This consolidation eliminates the need for a separate stack and reduces memory overhead while maintaining constant-time backtracking capability.

Inventive Principle:
Principle #5Merging (Combining)

2Productivity

If current methods are used for tree traversal with backtracking, then traversal can be performed, but performance is degraded due to non-constant time complexity

Engineering Contradiction:
Improvetraversal performanceVSAvoidbacktracking time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent performs preliminary action by pre-storing parent and sibling pointers in each tree node during tree construction. This advance preparation enables constant-time backtracking operations without requiring complex stack operations or searches during the actual traversal process.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent replaces the mechanical stack-based backtracking system with a direct pointer-based navigation system. By substituting the stack data structure with embedded parent and sibling pointers, the system achieves constant-time backtracking through direct memory access rather than sequential stack operations.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS10706608B2Tree traversal with backtracking in constant time
Publication Date: 2020.07.07 NVIDIA CORP
  • US10706608B2 patent drawing
  • US10706608B2 patent drawing
  • US10706608B2 patent drawing

AI summary

A method, computer readable medium, and system are disclosed for performing tree traversal with backtracking in constant time. The method includes the steps of traversing a tree, maintaining a bit trail variable and a current key variable during the traversing, where the bit trail variable includes a first plurality of bits indicating tree levels on which a node has been postponed along a path from the root of the tree during the traversing, and the current key variable includes a second plurality of bits indicating a number of a current node within the tree, and performing backtracking within the tree during the traversing, utilizing the bit trail variable and the current key variable.