Data structures
Constructive elements and building blocks
All the basic finite math matrix or graph elements that form data structures or concepts
see list

Data structures
Placeholder 
Back
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.
Usage
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 Btree 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.
Implementation
Data structures are generally based on the ability of a computer to fetch and store data at any place in its memory, specified by a pointer—a bit string, representing a memory address, that can be itself stored in memory and manipulated by the program. Thus, the array and record data structures are based on computing the addresses of data items with arithmetic operations, while the linked data structures are based on storing addresses of data items within the structure itself.
The implementation of a data structure usually requires writing a set of procedures that create and manipulate instances of that structure. The efficiency of a data structure cannot be analyzed separately from those operations. This observation motivates the theoretical concept of an abstract data type, a data structure that is defined indirectly by the operations that may be performed on it, and the mathematical properties of those operations (including their space and time cost).
Examples
Main article: List of data structures There are numerous types of data structures, generally built upon simpler primitive data types:
 An array is a number of elements in a specific order, typically all of the same type (depending on the language, individual elements may either all be forced to be the same type, or may be of almost any type). Elements are accessed using an integer index to specify which element is required. Typical implementations allocate contiguous memory words for the elements of arrays (but this is not always a necessity). Arrays may be fixedlength or resizable.
 A linked list (also just called list) is a linear collection of data elements of any type, called nodes, where each node has itself a value, and points to the next node in the linked list. The principal advantage of a linked list over an array is that values can always be efficiently inserted and removed without relocating the rest of the list. Certain other operations, such as random access to a certain element, are however slower on lists than on arrays.
 A record (also called tuple or struct) is an aggregate data structure. A record is a value that contains other values, typically in fixed number and sequence and typically indexed by names. The elements of records are usually called fields or members.
 A union is a data structure that specifies which of a number of permitted primitive types may be stored in its instances, e.g. float or long integer. Contrast with a record, which could be defined to contain a float and an integer; whereas in a union, there is only one value at a time. Enough space is allocated to contain the widest member datatype.
 A tagged union (also called variant, variant record, discriminated union, or disjoint union) contains an additional field indicating its current type, for enhanced type safety.
 An object is a data structure that contains data fields, like a record does, as well as various methods which operate on the data contents. An object is an inmemory instance of a class from a taxonomy. In the context of objectoriented programming, records are known as plain old data structures to distinguish them from objects.
 In addition, graphs and binary trees are other commonly used data structures.
Mon, Mar 15, 2021
URL
https://en.wikipedia.org/wiki/Data_structure

List of data structures
Placeholder 
Back
In progress, taken straight from Wikipedia as a strong starting point for a comprehensive list. We might not need all these types, but they are an interesting study. What are the fundamental constructive objects ("basic building blocks") and what are the more composite objects  complex structure built from simpler structures
 Data types
 Primitive types
 Boolean, true or false.
 Character
 Floatingpoint numbers, limited precision approximations of real number values.
 Including Single precision and Double precision IEEE 754 Floats, among others
 Fixedpoint numbers
 Integer, integral or fixedprecision values.
 Reference (also called a pointer or handle), a small value referring to another object's address in memory, possibly a much larger one.
 Enumerated type, a small set of uniquely named values.
 Date Time, value referring to Date and Time
 Composite types or nonprimitive type
 Array (as an example String which is an array of characters)
 Record (also called Associative array, Map, or structure)
 Union (Tagged union is a subset, also called variant, variant record, discriminated union, or disjoint union)
 Abstract data types
 Container
 List
 Tuple
 Multimap
 Set
 Multiset (bag)
 Stack
 Queue (example Priority queue)
 Doubleended queue
 Graph (example Tree, Heap)
Some properties of abstract data types:
Structure Order Unique List yes no Associative array no yes Set no yes Stack yes no Multimap no no Multiset (bag) no no Queue yes no Order means the insertion sequence counts. Unique means that duplicate elements are not allowed, based on some inbuilt or, alternatively, userdefined rule for comparing elements.
Linear data structures A data structure is said to be linear if its elements form a sequence.
Arrays Array Bit array Bit field Bitboard Bitmap Circular buffer Control table Image Dope vector Dynamic array Gap buffer Hashed array tree Lookup table Matrix Parallel array Sorted array Sparse matrix Iliffe vector Variablelength array Lists Doubly linked list Array list Linked list Association list Selforganizing list Skip list Unrolled linked list VList Conctree list Xor linked list Zipper Doubly connected edge list also known as halfedge Difference list Free list Trees Main article: Tree (data structure) Binary trees AA tree AVL tree Binary search tree Binary tree Cartesian tree Conctree list Leftchild rightsibling binary tree Order statistic tree Pagoda Randomized binary search tree Red–black tree Rope Scapegoat tree Selfbalancing binary search tree Splay tree Ttree Tango tree Threaded binary tree Top tree Treap WAVL tree Weightbalanced tree Btrees Btree B+ tree B*tree B sharp tree Dancing tree 23 tree 234 tree Queap Fusion tree Bxtree AList Heaps Heap Binary heap Bheap Weak heap Binomial heap Fibonacci heap AFheap Leonardo Heap 23 heap Soft heap Pairing heap Leftist heap Treap Beap Skew heap Ternary heap Dary heap Brodal queue Trees In these data structures each tree node compares a bit slice of key values.
Tree (data structure) Radix tree Suffix tree Suffix array Compressed suffix array FMindex Generalised suffix tree Btree Judy array Xfast trie Yfast trie Merkle tree C tree Multi way trees Ternary tree Kary tree And–or tree (a,b)tree Link/cut tree SPQRtree Spaghetti stack Disjointset data structure (Unionfind data structure) Fusion tree Enfilade Exponential tree Fenwick tree Van Emde Boas tree Rose tree Spacepartitioning trees These are data structures used for space partitioning or binary space partitioning.
Segment tree Interval tree Range tree Bin Kd tree Implicit kd tree Min/max kd tree Relaxed kd tree Adaptive kd tree Quadtree Octree Linear octree Zorder UBtree Rtree R+ tree R* tree Hilbert Rtree Xtree Metric tree Cover tree Mtree VPtree BKtree Bounding interval hierarchy Bounding volume hierarchy BSP tree Rapidly exploring random tree Applicationspecific trees Abstract syntax tree Parse tree Decision tree Alternating decision tree Minimax tree Expectiminimax tree Finger tree Expression tree Logstructured mergetree Lexicographic Search Tree Hashbased structures Bloom filter CountMin sketch Distributed hash table Double hashing Dynamic perfect hash table Hash array mapped trie Hash list Hash table Hash tree Hash trie Koorde Prefix hash tree Rolling hash MinHash Quotient filter Ctrie Graphs Many graphbased data structures are used in computer science and related fields:
Graph Adjacency list Adjacency matrix Graphstructured stack Scene graph Decision tree Binary decision diagram Zerosuppressed decision diagram Andinverter graph Directed graph Directed acyclic graph Propositional directed acyclic graph Multigraph Hypergraph Other Lightmap Winged edge Quadedge Routing table Symbol table See also Purely functional data structure
Mon, Mar 15, 2021
URL
https://en.wikipedia.org/wiki/List_of_data_structures

Dimensions and ordered lists
Placeholder 
Back
In general, we are defining a dimension as an "ordered list of values", taking a form like a matrix row or a database record.
Thu, Apr 29, 2021




