queue_abstract_data_type

Queue (abstract data type)

Return to Data Structures

Snippet from Wikipedia: Queue (abstract data type)

In computer science, a queue is a collection of entities that are maintained in a sequence and can be modified by the addition of entities at one end of the sequence and the removal of entities from the other end of the sequence. By convention, the end of the sequence at which elements are added is called the back, tail, or rear of the queue, and the end at which elements are removed is called the head or front of the queue, analogously to the words used when people line up to wait for goods or services.

The operation of adding an element to the rear of the queue is known as enqueue, and the operation of removing an element from the front is known as dequeue. Other operations may also be allowed, often including a peek or front operation that returns the value of the next element to be dequeued without dequeuing it.

The operations of a queue make it a first-in-first-out (FIFO) data structure. In a FIFO data structure, the first element added to the queue will be the first one to be removed. This is equivalent to the requirement that once a new element is added, all elements that were added before have to be removed before the new element can be removed. A queue is an example of a linear data structure, or more abstractly a sequential collection. Queues are common in computer programs, where they are implemented as data structures coupled with access routines, as an abstract data structure or in object-oriented languages as classes. Common implementations are circular buffers and linked lists.

Queues provide services in computer science, transport, and operations research where various entities such as data, objects, persons, or events are stored and held to be processed later. In these contexts, the queue performs the function of a buffer. Another usage of queues is in the implementation of breadth-first search.

Data Structures: Array, Linked List, Stack, Queue, Binary Tree, Binary Search Tree, Heap, Hash Table, Graph, Trie, Skip List, Red-Black Tree, AVL Tree, B-Tree, B+ Tree, Splay Tree, Fibonacci Heap, Disjoint Set, Adjacency Matrix, Adjacency List, Circular Linked List, Doubly Linked List, Priority Queue, Dynamic Array, Bloom Filter, Segment Tree, Fenwick Tree, Cartesian Tree, Rope, Suffix Array, Suffix Tree, Ternary Search Tree, Radix Tree, Quadtree, Octree, KD Tree, Interval Tree, Sparse Table, Union-Find, Min-Max Heap, Binomial Heap, And-Or Graph, Bit Array, Bitmask, Circular Buffer, Concurrent Data Structures, Content Addressable Memory, Deque, Directed Acyclic Graph (DAG), Edge List, Eulerian Path and Circuit, Expression Tree, Huffman Tree, Immutable Data Structure, Indexable Skip List, Inverted Index, Judy Array, K-ary Tree, Lattice, Linked Hash Map, Linked Hash Set, List, Matrix, Merkle Tree, Multimap, Multiset, Nested Data Structure, Object Pool, Pairing Heap, Persistent Data Structure, Quad-edge, Queue (Double-ended), R-Tree, Radix Sort Tree, Range Tree, Record, Ring Buffer, Scene Graph, Scapegoat Tree, Soft Heap, Sparse Matrix, Spatial Index, Stack (Min/Max), Suffix Automaton, Threaded Binary Tree, Treap, Triple Store, Turing Machine, Unrolled Linked List, Van Emde Boas Tree, Vector, VList, Weak Heap, Weight-balanced Tree, X-fast Trie, Y-fast Trie, Z-order, Zero-suppressed Decision Diagram, Zigzag Tree

Data Structures Fundamentals - Algorithms Fundamentals, Algorithms, Data Types; Primitive Types (Boolean data type, Character (computing), Floating-point arithmetic, Single-precision floating-point format - Double-precision floating-point format, IEEE 754, Category:Floating point types, Fixed-point arithmetic, Integer (computer science), Reference (computer science), Pointer (computer programming), Enumerated type, Date Time);

Composite Types or Non-Primitive Types: Array data structure, String (computer science) (Array of characters), Record (computer science) (also called Struct (C programming language)), Union type (Tagged union, also called Variant type, Variant record, Discriminated union, or Disjoint union);

Abstract Data Types: Container (data structure), List (abstract data type), Tuple, Associative array (also called Map, Multimap, Set (abstract data type), Multiset (abstract data type) (also called Multiset (bag)), Stack (abstract data type), Queue (abstract data type), (e.g. Priority queue), Double-ended queue, Graph (data structure) (e.g. Tree (data structure), Heap (data structure))

Data Structures and Algorithms, Data Structures Syntax, Data Structures and OOP - Data Structures and Design Patterns, Data Structures Best Practices, Data Structures and Containerization, Data Structures and IDEs (IntelliSense), Data Structures and Development Tools, Data Structures and Compilers, Data Structures and Data Science - Data Structures and DataOps, Machine Learning Data Structures - Data Structures and MLOps, Deep Learning Data Structures, Functional Data Structures, Data Structures and Concurrency - Data Structures and Parallel Programming, Data Structure Libraries, Data Structures History, Data Structures Bibliography (Grokking Data Structures), Data Structures Courses, Data Structures Glossary, Data Structures Topics, Data Structures Research, Data Structures GitHub, Written in Data Structures, Data Structures Popularity, Data Structures Awesome. (navbar_data_structures - see also navbar_cpp_containers, navbar_math_algorithms, navbar_data_algorithms, navbar_design_patterns, navbar_software_architecture)


© 1994 - 2024 Cloud Monk Losang Jinpa or Fair Use. Disclaimers

SYI LU SENG E MU CHYWE YE. NAN. WEI LA YE. WEI LA YE. SA WA HE.


queue_abstract_data_type.txt · Last modified: 2024/04/28 03:44 (external edit)