Skip to content

Jonny0201/data_structure

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

data_structure

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.

Usage

This project is being refactored.

Environment

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 Apple Clang
Clang
GCC
VirtualWindows 11 Arm 23H2 Clang
GCC
MSVC
Apple MacBook Pro M3 Max Apple M3 Max 128 GB Apple M3 Max Apple SSD AP1024Z macOS Sequoia 15.0.1 Apple Clang
Clang
GCC
VirtualCentOS 9 Stream Clang
GCC
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 Apple Clang
Clang
GCC
Samsung 980 500GB driven by UGREEN BootCampWindows 11 23H2 Clang
GCC
MSVC

Development

Status

Name Structure Status Header
Config Basic Done __config.hpp
Meta Extra Done meta.hpp
Type Traits Infrastructure Done type_traits.hpp
Allocator Infrastructure Done allocator.hpp
Memory Pool Infrastructure Done memory.hpp
Buffer Linear Done buffer.hpp
Vector Linear Done vector.hpp
Array Linear Done array.hpp
Forward List Linear Done forward_list.hpp
List Linear Done list.hpp
Deque Linear Done deque.hpp
Stack Adaptor Done stack.hpp
Queue Adaptor Done queue.hpp
Priority Queue Adaptor Done priority_queue.hpp
Skip List Linear Done skip_list.hpp
Hash Table Linear Done hash_table.hpp
Hash Array Linear Done hash_array.hpp
Contiguous Forward List Linear Done contiguous_forward_list.hpp
Contiguous List Linear Done contiguous_list.hpp
Bits Linear Done bits.hpp
Matrix Linear Done matrix.hpp
String Linear Done string.hpp
Generalized List Linear Done generalized_list.hpp
Tree Tree Done tree.hpp
Binary Tree Tree Done binary_tree.hpp
Leftist Tree Tree Done leftist_tree.hpp
Winner Tree Tree Done winner_tree.hpp
Loser Tree Alias Done loser_tree.hpp
Huffman Tree Application Done huffman_tree.hpp
Binary Search Tree Tree Done binary_search_tree.hpp
Adelson-Velsky and Landis Tree Tree Done avl_tree.hpp
Red-Black Tree Tree Done red_black_tree.hpp
Splay Tree Adaptor Done splay_tree.hpp
B Tree Tree Done b_tree.hpp
B+ Tree Tree Done b_plus_tree.hpp
B* Tree Tree Done b_star_tree.hpp
Graph Graph Done graph.hpp

Unit Test

Name System Compiler Coverage Debug Assertion
Apple Clang Clang GCC MSVC
Type Traits macOS None None
Windows None
CentOS None None
Windows Arm None
Buffer macOS None None
Windows None
CentOS None None
Windows Arm None
Vector macOS None None
Windows None
CentOS None None
Windows Arm None
Array macOS None
Windows None
CentOS None None
Windows Arm None
Forward List macOS None None
Windows None
CentOS None None
Windows Arm None
List macOS None
Windows None
CentOS None None
Windows Arm None
Deque macOS None
Windows None
CentOS None None
Windows Arm None
Stack macOS None
Windows None
CentOS None None
Windows Arm None
Queue macOS None
Windows None
CentOS None None
Windows Arm None
Priority Queue macOS None
Windows None
CentOS None None
Windows Arm None
Skip List macOS None
Windows None
CentOS None None
Windows Arm None
Hash Table macOS None
Windows None
CentOS None None
Windows Arm None

Benchmark

Name Enviorment Compiler
Apple Clang Clang GCC MSVC
Buffer macOS (M3 Max) None
macOS (M2) None
macOS (Intel) None
Windows 11 (BootCamp in Intel) None
Windows 11 Arm (Virtual in M2) None
CentOS (Virtual in M3 Max) None None
Vector macOS (M3 Max) None
macOS (M2) None
macOS (Intel) None
Windows 11 (BootCamp in Intel) None
Windows 11 Arm (Virtual in M2) None
CentOS (Virtual in M3 Max) None None
Array macOS (M3 Max) None
macOS (M2) None
macOS (Intel) None
Windows 11 (BootCamp in Intel) None
Windows 11 Arm (Virtual in M2) None
CentOS (Virtual in M3 Max) None None
Forward List macOS (M3 Max) None
macOS (M2) None
macOS (Intel) None
Windows 11 (BootCamp in Intel) None
Windows 11 Arm (Virtual in M2) None
CentOS (Virtual in M3 Max) None None
List macOS (M3 Max) None
macOS (M2) None
macOS (Intel) None
Windows 11 (BootCamp in Intel) None
Windows 11 Arm (Virtual in M2) None
CentOS (Virtual in M3 Max) None None
Deque macOS (M3 Max) None
macOS (M2) None
macOS (Intel) None
Windows 11 (BootCamp in Intel) None
Windows 11 Arm (Virtual in M2) None
CentOS (Virtual in M3 Max) None None
Stack macOS (M3 Max) None
macOS (M2) None
macOS (Intel) None
Windows 11 (BootCamp in Intel) None
Windows 11 Arm (Virtual in M2) None
CentOS (Virtual in M3 Max) None None
Queue macOS (M3 Max) None
macOS (M2) None
macOS (Intel) None
Windows 11 (BootCamp in Intel) None
Windows 11 Arm (Virtual in M2) None
CentOS (Virtual in M3 Max) None None
Skip List macOS (M3 Max) None
macOS (M2) None
macOS (Intel) None
Windows 11 (BootCamp in Intel) None
Windows 11 Arm (Virtual in M2) None
CentOS (Virtual in M3 Max) None None
Hash Table macOS (M3 Max) None
macOS (M2) None
macOS (Intel) None
Windows 11 (BootCamp in Intel) None
Windows 11 Arm (Virtual in M2) None
CentOS (Virtual in M3 Max) None None

About

Appreciative only

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages