220 likes | 518 Views
Object Oriented Data Structures. Types of Data Structures & There are a lot of them! List of Data Structures Wikipedia. Data Structures Overview. Primitive Composite Structures Unions Classes & Objects Arrays Queues Deques Linked Lists (singly/doubly) Binary Trees Multiway Trees
E N D
Object Oriented Data Structures Types of Data Structures & There are a lot of them! List of Data Structures Wikipedia Dennis A. Fairclough
Data StructuresOverview Primitive Composite Structures Unions Classes & Objects Arrays Queues Deques Linked Lists (singly/doubly) Binary Trees Multiway Trees Maps Sets Heaps Hash Tables Graphs morr… Dennis A. Fairclough
Primitive Types(Atomic) Boolean 0/1 true/false Character ‘Z’ ASCII/unicode Integer signed/unsigned Float s/exp/mantissa Decimal monetary Dennis A. Fairclough
Composite Types • Structure / Record • Union • Tagged Union / Variant Dennis A. Fairclough
Abstract Data Types • Container • Deque • List • Map • Multimap • Multiset / Bag • Priority Quue • Queue • Set • Stack • String • Tree Dennis A. Fairclough
Array Types • Array • Dynamic Array • Hashed Array Tree • Parallel Array • Sparse Array • Matrix • Sparse Matrix • Circular Buffer • Gap Buffer • Bit Field • Bit Array • Bitboard • Bitmaps • Images • Heightfields • Lookup Table Dennis A. Fairclough
Lists • Linked Lists • Doubly Linked Lists • Xor Linked List • Unrolled Linked List • Zipper • Vlist • Skip List • Jump List • Self-Organizing List Dennis A. Fairclough ExtendedQueue
Binary Trees • Binary Tree • Binary Search Tree • Self-Balancing Binary Search Tree • Randomized Binary Search Tree • Weight Balanced Binary Search Tree • Thread Binary Tree • AVL Tree • Scapegoat Tree • Splay Tree • T-Tree • Rope • Top Trees • Tango Trees • Cartesian Tree • Treap Dennis A. Fairclough
B-Trees • B-Tree • B+ Tree • B* Tree • B Sharp Tree • Dancing Tree • 2-3 Tree • 2-3-4 Tree • Fusion Tree • Bx-Tree Dennis A. Fairclough
Heaps • Heap • Binary Heap • Binominal Heap • Fibonacci Heap • 2-3 Heap • Soft Heap • Pairing Heap • Leftist Heap • Treap • Beap • Shew Heap • Ternary Heap • D-ary Heap • Van Emde Boas Heap Dennis A. Fairclough
Tries(node bitslice of key values) • Trie • Radix Tree • Suffix Tree • Suffix Array • FM-Index • Generalised Suffix Tree • B-Trie • Judy Array (Associative) Dennis A. Fairclough
Multiway Trees • Ternary Search Tree • And-Or-Tree • (a,b)-Tree • Link/Cut Tree • SPQR-Tree • Spaghetti Stack • Disjoint-Set Data Structure • Fusion Tree • Enfilade • Exponential Tree • Fenwick Tree Dennis A. Fairclough
Space-Partitioning Treesor Binary Space-Partioning • Segment Tree • Interval Tree • Range Tree • Kd-Tree • ImplicitKd-Tree • Min/MaxKd-Tree • AdaptiveKd-Tree • Kdb-Tree • Quadtree • Octree • Linear Octrees • Z-Order Tree • UB-Tree • R-Tree • R+ Tree • R* Tree • Hilbert R-Tree • X-Tree • Metric Tree • Cover Tree • M Tree • VP-Tree • BK-Tree • Bounding Interval Hierarchy • BSP Tree Dennis A. Fairclough
Application Specific Trees • Syntax Tree • Abstract Syntax Tree • Parse Tree • DecisionTree • Alternating Decision Tree • Minmax Tree • Expectminmax Tree • Finger Tree Dennis A. Fairclough
Hashes • Hash Table • Bloom Filter • Hash List • Hash Tree • Prefix Hash Tree • Hash Trie • Hash Array Mapped Trie • Distributed Hash Table • Koorde Dennis A. Fairclough
Graphs • Graph • Adjacency List • Adjacency Matrix • Graph-Structured Stack • Scene Graph • Binary Decision Diagram • Zero Suppressed Decision Diagram • And-Inverted Graph • Directed Graph • Propositional Directed Acyclic Graph Dennis A. Fairclough
Summary We are NOT going to have time to cover all of these data structures! Dennis A. Fairclough
What did you learn? • ??? Dennis A. Fairclough
Chapter 3A Closes Dennis A. Fairclough