Dual-Level List Structure for Fast Memory Capacity Expansion
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional memory list structures face issues with slow capacity expansion and memory space wastage when dealing with large amounts of data, as they require copying data during expansion and do not efficiently manage memory utilization.
Innovation Solution
A dual-level list structure is introduced, where a first-level array stores array identifiers and second-level arrays store data, allowing for dynamic capacity expansion by creating new first-level arrays and increasing the number of second-level arrays when data reaches maximum values, thereby reducing the need for data copying and optimizing memory usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional memory list structure is used for capacity expansion, then data can be stored dynamically, but capacity expansion speed becomes slow and memory space is wasted
Solution Approach 1:
The list structure is divided into two levels: first-level list storing array identifiers and second-level lists storing actual data. This segmentation allows independent management of identifiers and data, enabling efficient capacity expansion by only copying identifiers rather than entire data structures when expanding capacity.
Solution Approach 2:
The first-level list acts as an intermediary between the system and second-level data lists. It stores array identifiers that serve as references to actual data locations, allowing the system to manage capacity expansion through identifier manipulation rather than direct data copying, thus improving expansion speed and reducing memory waste.
2Adaptability or versatility
If ArrayList capacity expansion algorithm is used, then dynamic capacity expansion is supported, but data copying is required which slows down expansion
Solution Approach 1:
The data structure is segmented into identifier storage (first-level list) and data storage (second-level lists). During capacity expansion, only the compact identifier list needs to be copied rather than large amounts of actual data, significantly reducing copying time while maintaining dynamic capacity expansion capability.
Solution Approach 2:
Instead of copying entire data structures during expansion, the patent copies only the array identifiers from the first-level list. This selective copying approach maintains the adaptability of dynamic capacity expansion while minimizing the time loss associated with data copying.
3Quantity of substance
If list capacity is expanded based on current list size, then capacity grows with data, but larger lists result in larger expansion overhead
Solution Approach 1:
By separating identifier management from data storage, the patent reduces expansion complexity. The first-level list of identifiers can be expanded independently with minimal overhead, while second-level data lists remain unchanged, allowing capacity to grow without proportionally increasing expansion complexity.
Data Source
AI summary
Provided are a capacity expansion method and a capacity expansion system based on a dual-level list structure; a first level list of the dual-level list structure is a first-level array in which at least one array identifier is stored; a second level list of the dual-level list structure includes at least one second-level array, each second-level array stores data to be stored and corresponds to only one array identifier; the method includes: creating a new first-level array when an amount of data stored in the second-level array corresponding to each array identifier reaches a maximum value, a size of a new first-level array being greater than that of a current first-level array, and increasing a number of the second-level arrays; and copying the array identifier stored in the current first-level array to the new first-level array, and replacing the current first-level array with the new first-level array.


