Radix Tree Compression via Container Merging
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Radix trees with deep structures and varying key lengths can be time-consuming to traverse and require significant memory allocation, leading to performance issues and inefficiencies in insertion, deletion, and search operations.
Innovation Solution
A method and system for compressing a radix tree by traversing its containers, identifying parent and child containers with single immediate children, and combining them into a single container when the parent's element length meets a threshold, thereby reducing the tree's depth and memory usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the radix tree maintains a deep structure to accommodate varying key lengths, then it can store diverse data, but traversal time increases and performance deteriorates
Solution Approach 1:
The patent combines multiple containers into fewer containers by identifying parent containers with single-child containers and merging them. This reduces the overall depth of the radix tree while preserving the ability to store keys of varying lengths, thereby decreasing traversal time without sacrificing adaptability.
2Quantity of substance
If the radix tree is compressed by combining containers, then memory usage decreases, but the structure becomes more complex to manage
Solution Approach 1:
The compression process is automated through algorithms that automatically identify parent containers with single-child containers and perform the merging operations. This self-service approach minimizes manual intervention and simplifies management despite the complexity of the compression logic, while effectively reducing memory usage.
3Productivity
If parent containers with single children are combined, then tree depth reduces and search performance improves, but the number of elements per container increases
Solution Approach 1:
The patent changes the structural parameters of the radix tree by merging containers, which alters the distribution of elements per container. While the number of elements per container increases, the overall tree depth decreases more significantly, resulting in improved search performance because the reduction in traversal depth outweighs the increased container size.
Data Source
AI summary
Systems and methods are disclosed for compressing a radix tree. An example method of compressing a radix tree includes traversing a radix tree including a plurality of containers. The method also includes identifying, based on the traversing, a parent container having a single immediate child container. The parent container includes a first set of elements, and the child container includes a second set of elements. The method further includes determining whether a length of the first set of elements included in the parent container satisfies a threshold. The method also includes when the length of the first set of elements is determined to satisfy the threshold, combining the parent and child containers into a single container.


