
In computer science, a data structure is a data organization, management, and storage format that enables efficient access and modification. More precisely, a data structure is a collection of data values, the relationships among them, and the functions or operations that can be applied to the data.
Data structures serve as the basis for abstract data types (ADT). The ADT defines the logical form of the data type. The data structure implements the physical form of the data type.
Different types of data structures are suited to different kinds of applications, and some are highly specialized to specific tasks. For example, relational databases commonly use B-tree indexes for data retrieval, while compiler implementations usually use hash tables to look up identifiers.
Data structures provide a means to manage large amounts of data efficiently for uses such as large databases and internet indexing services. Usually, efficient data structures are key to designing efficient algorithms. Some formal design methods and programming languages emphasize data structures, rather than algorithms, as the key organizing factor in software design. Data structures can be used to organize the storage and retrieval of information stored in both main memory and secondary memory.
This project is being refactored.
| Device |
CPU |
Memory |
GPU |
Hard Disk |
System |
Compiler |
| Apple Mac mini M2 |
Apple M2 |
8 GB |
Apple M2 |
Apple SSD AP0256Z |
macOS Sequoia 15.0.1 |
|
Windows 11 Arm 23H2 |
|
| Apple MacBook Pro M3 Max |
Apple M3 Max |
128 GB |
Apple M3 Max |
Apple SSD AP1024Z |
macOS Sequoia 15.0.1 |
|
CentOS 9 Stream |
|
| Apple MacBook Pro Intel |
Intel Core i7 9750H |
16 GB |
Intel UHD Graphics 630 & AMD Radeon Pro 555X |
Apple SSD AP0256M |
macOS Sequoia 15.0.1 |
|
| Samsung 980 500GB driven by UGREEN |
Windows 11 23H2 |
|
| Name |
Structure |
Status |
Header |
| Config |
Basic |
 |
__config.hpp |
| Meta |
Extra |
 |
meta.hpp |
| Type Traits |
Infrastructure |
 |
type_traits.hpp |
| Allocator |
Infrastructure |
 |
allocator.hpp |
| Memory Pool |
Infrastructure |
 |
memory.hpp |
| Buffer |
Linear |
 |
buffer.hpp |
| Vector |
Linear |
 |
vector.hpp |
| Array |
Linear |
 |
array.hpp |
| Forward List |
Linear |
 |
forward_list.hpp |
| List |
Linear |
 |
list.hpp |
| Deque |
Linear |
 |
deque.hpp |
| Stack |
Adaptor |
 |
stack.hpp |
| Queue |
Adaptor |
 |
queue.hpp |
| Priority Queue |
Adaptor |
 |
priority_queue.hpp |
| Skip List |
Linear |
 |
skip_list.hpp |
| Hash Table |
Linear |
 |
hash_table.hpp |
| Hash Array |
Linear |
 |
hash_array.hpp |
| Contiguous Forward List |
Linear |
 |
contiguous_forward_list.hpp |
| Contiguous List |
Linear |
 |
contiguous_list.hpp |
| Bits |
Linear |
 |
bits.hpp |
| Matrix |
Linear |
 |
matrix.hpp |
| String |
Linear |
 |
string.hpp |
| Generalized List |
Linear |
 |
generalized_list.hpp |
| Tree |
Tree |
 |
tree.hpp |
| Binary Tree |
Tree |
 |
binary_tree.hpp |
| Leftist Tree |
Tree |
 |
leftist_tree.hpp |
| Winner Tree |
Tree |
 |
winner_tree.hpp |
| Loser Tree |
Alias |
 |
loser_tree.hpp |
| Huffman Tree |
Application |
 |
huffman_tree.hpp |
| Binary Search Tree |
Tree |
 |
binary_search_tree.hpp |
| Adelson-Velsky and Landis Tree |
Tree |
 |
avl_tree.hpp |
| Red-Black Tree |
Tree |
 |
red_black_tree.hpp |
| Splay Tree |
Adaptor |
 |
splay_tree.hpp |
| B Tree |
Tree |
 |
b_tree.hpp |
| B+ Tree |
Tree |
 |
b_plus_tree.hpp |
| B* Tree |
Tree |
 |
b_star_tree.hpp |
| Graph |
Graph |
 |
graph.hpp |
| Name |
System |
Compiler |
Coverage |
Debug Assertion |
| Apple Clang |
Clang |
GCC |
MSVC |
| Type Traits |
macOS |
 |
|
|
 |
|
|
| Windows |
 |
|
|
|
| CentOS |
 |
|
|
 |
| Windows Arm |
 |
|
|
|
| Buffer |
macOS |
 |
|
|
 |
|
|
| Windows |
 |
|
|
|
| CentOS |
 |
|
|
 |
| Windows Arm |
 |
|
|
|
| Vector |
macOS |
 |
|
|
 |
|
|
| Windows |
 |
|
|
|
| CentOS |
 |
|
|
 |
| Windows Arm |
 |
|
|
|
| Array |
macOS |
|
|
|
 |
|
|
| Windows |
 |
|
|
|
| CentOS |
 |
|
|
 |
| Windows Arm |
 |
|
|
|
| Forward List |
macOS |
 |
|
|
 |
|
|
| Windows |
 |
|
|
|
| CentOS |
 |
|
|
 |
| Windows Arm |
 |
|
|
|
| List |
macOS |
|
|
|
 |
|
|
| Windows |
 |
|
|
|
| CentOS |
 |
|
|
 |
| Windows Arm |
 |
|
|
|
| Deque |
macOS |
|
|
|
 |
|
|
| Windows |
 |
|
|
|
| CentOS |
 |
|
|
 |
| Windows Arm |
 |
|
|
|
| Stack |
macOS |
|
|
|
 |
|
|
| Windows |
 |
|
|
|
| CentOS |
 |
|
|
 |
| Windows Arm |
 |
|
|
|
| Queue |
macOS |
|
|
|
 |
|
|
| Windows |
 |
|
|
|
| CentOS |
 |
|
|
 |
| Windows Arm |
 |
|
|
|
| Priority Queue |
macOS |
|
|
|
 |
|
|
| Windows |
 |
|
|
|
| CentOS |
 |
|
|
 |
| Windows Arm |
 |
|
|
|
| Skip List |
macOS |
|
|
|
 |
|
|
| Windows |
 |
|
|
|
| CentOS |
 |
|
|
 |
| Windows Arm |
 |
|
|
|
| Hash Table |
macOS |
|
|
|
 |
|
|
| Windows |
 |
|
|
|
| CentOS |
 |
|
|
 |
| Windows Arm |
 |
|
|
|
| Name |
Enviorment |
Compiler |
| Apple Clang |
Clang |
GCC |
MSVC |
| Buffer |
macOS (M3 Max) |
|
|
|
 |
| macOS (M2) |
|
|
|
 |
| macOS (Intel) |
|
|
|
 |
| Windows 11 (BootCamp in Intel) |
 |
|
|
|
| Windows 11 Arm (Virtual in M2) |
 |
|
|
|
| CentOS (Virtual in M3 Max) |
 |
|
|
 |
| Vector |
macOS (M3 Max) |
|
|
|
 |
| macOS (M2) |
|
|
|
 |
| macOS (Intel) |
|
|
|
 |
| Windows 11 (BootCamp in Intel) |
 |
|
|
|
| Windows 11 Arm (Virtual in M2) |
 |
|
|
|
| CentOS (Virtual in M3 Max) |
 |
|
|
 |
| Array |
macOS (M3 Max) |
|
|
|
 |
| macOS (M2) |
|
|
|
 |
| macOS (Intel) |
|
|
|
 |
| Windows 11 (BootCamp in Intel) |
 |
|
|
|
| Windows 11 Arm (Virtual in M2) |
 |
|
|
|
| CentOS (Virtual in M3 Max) |
 |
|
|
 |
| Forward List |
macOS (M3 Max) |
|
|
|
 |
| macOS (M2) |
|
|
|
 |
| macOS (Intel) |
|
|
|
 |
| Windows 11 (BootCamp in Intel) |
 |
|
|
|
| Windows 11 Arm (Virtual in M2) |
 |
|
|
|
| CentOS (Virtual in M3 Max) |
 |
|
|
 |
| List |
macOS (M3 Max) |
|
|
|
 |
| macOS (M2) |
|
|
|
 |
| macOS (Intel) |
|
|
|
 |
| Windows 11 (BootCamp in Intel) |
 |
|
|
|
| Windows 11 Arm (Virtual in M2) |
 |
|
|
|
| CentOS (Virtual in M3 Max) |
 |
|
|
 |
| Deque |
macOS (M3 Max) |
|
|
|
 |
| macOS (M2) |
|
|
|
 |
| macOS (Intel) |
|
|
|
 |
| Windows 11 (BootCamp in Intel) |
 |
|
|
|
| Windows 11 Arm (Virtual in M2) |
 |
|
|
|
| CentOS (Virtual in M3 Max) |
 |
|
|
 |
| Stack |
macOS (M3 Max) |
|
|
|
 |
| macOS (M2) |
|
|
|
 |
| macOS (Intel) |
|
|
|
 |
| Windows 11 (BootCamp in Intel) |
 |
|
|
|
| Windows 11 Arm (Virtual in M2) |
 |
|
|
|
| CentOS (Virtual in M3 Max) |
 |
|
|
 |
| Queue |
macOS (M3 Max) |
|
|
|
 |
| macOS (M2) |
|
|
|
 |
| macOS (Intel) |
|
|
|
 |
| Windows 11 (BootCamp in Intel) |
 |
|
|
|
| Windows 11 Arm (Virtual in M2) |
 |
|
|
|
| CentOS (Virtual in M3 Max) |
 |
|
|
 |
| Skip List |
macOS (M3 Max) |
|
|
|
 |
| macOS (M2) |
|
|
|
 |
| macOS (Intel) |
|
|
|
 |
| Windows 11 (BootCamp in Intel) |
 |
|
|
|
| Windows 11 Arm (Virtual in M2) |
 |
|
|
|
| CentOS (Virtual in M3 Max) |
 |
|
|
 |
| Hash Table |
macOS (M3 Max) |
|
|
|
 |
| macOS (M2) |
|
|
|
 |
| macOS (Intel) |
|
|
|
 |
| Windows 11 (BootCamp in Intel) |
 |
|
|
|
| Windows 11 Arm (Virtual in M2) |
 |
|
|
|
| CentOS (Virtual in M3 Max) |
 |
|
|
 |