95 relations: Abstract data type, Addressing mode, ALGOL, Algorithm, Array data type, Array slicing, Associative array, Big O notation, Bit array, Bitwise operation, Burroughs large systems, C (programming language), C string handling, C++, Central processing unit, Character (computing), COBOL, Computer science, Control flow, Control table, Coordinate vector, CPU cache, Data parallelism, Data structure, Data type, Database, Dictionary of Algorithms and Data Structures, Dope vector, Double-ended queue, Dynamic array, EDVAC, Enumerated type, External storage, Fortran, Fragmentation (computing), Handle (computing), Hash table, Heap (data structure), High-level programming language, Iliffe vector, Implicit data structure, Index register, Integer, Jagged array, John von Neumann, Judy array, Linked list, Lisp (programming language), List (abstract data type), Locality of reference, ..., Lookup table, Matrix (mathematics), Memory management, Memory pool, Memory segmentation, Merge sort, National Institute of Standards and Technology, Octet (computing), Offset (computer science), Overhead (computing), Parallel array, Perfect hash function, Pointer (computer programming), Queue (abstract data type), Radix tree, Rank (computer programming), Record (computer science), Reference (computer science), Row- and column-major order, Run time (program lifecycle phase), Search tree, Self-balancing binary search tree, Self-modifying code, Sorted array, Stack (abstract data type), Statement (computer science), Stride of an array, String (computer science), Subroutine, Switch statement, Table (information), The Art of Computer Programming, Theoretical computer science, Time complexity, Triangular array, Tuple, Value (computer science), Van Emde Boas tree, Variable (computer science), Variable-length array, Vector processor, Vector space, Virtual memory, Word (computer architecture), Zero-based numbering. Expand index (45 more) » « Shrink index
In computer science, an abstract data type (ADT) is a mathematical model for data types, where a data type is defined by its behavior (semantics) from the point of view of a user of the data, specifically in terms of possible values, possible operations on data of this type, and the behavior of these operations.
Addressing modes are an aspect of the instruction set architecture in most central processing unit (CPU) designs.
ALGOL (short for "Algorithmic Language") is a family of imperative computer programming languages, originally developed in the mid-1950s, which greatly influenced many other languages and was the standard method for algorithm description used by the ACM in textbooks and academic sources for more than thirty years.
In mathematics and computer science, an algorithm is an unambiguous specification of how to solve a class of problems.
Language support for array types may include certain built-in array data types, some syntactic constructions (array type constructors) that the programmer may use to define such types and declare array variables, and special notation for indexing array elements.
In computer programming, array slicing is an operation that extracts a subset of elements from an array and packages them as another array, possibly in a different dimension from the original.
In computer science, an associative array, map, symbol table, or dictionary is an abstract data type composed of a collection of (key, value) pairs, such that each possible key appears at most once in the collection.
Big O notation is a mathematical notation that describes the limiting behaviour of a function when the argument tends towards a particular value or infinity.
A bit array (also known as bit map, bit set, bit string, or bit vector) is an array data structure that compactly stores bits.
In digital computer programming, a bitwise operation operates on one or more bit patterns or binary numerals at the level of their individual bits.
In the 1970s, Burroughs Corporation was organized into three divisions with very different product line architectures for high-end, mid-range, and entry-level business computer systems.
C (as in the letter ''c'') is a general-purpose, imperative computer programming language, supporting structured programming, lexical variable scope and recursion, while a static type system prevents many unintended operations.
The C programming language has a set of functions implementing operations on strings (character strings and byte strings) in its standard library.
C++ ("see plus plus") is a general-purpose programming language.
A central processing unit (CPU) is the electronic circuitry within a computer that carries out the instructions of a computer program by performing the basic arithmetic, logical, control and input/output (I/O) operations specified by the instructions.
In computer and machine-based telecommunications terminology, a character is a unit of information that roughly corresponds to a grapheme, grapheme-like unit, or symbol, such as in an alphabet or syllabary in the written form of a natural language.
COBOL (an acronym for "common business-oriented language") is a compiled English-like computer programming language designed for business use.
Computer science deals with the theoretical foundations of information and computation, together with practical techniques for the implementation and application of these foundations.
In computer science, control flow (or flow of control) is the order in which individual statements, instructions or function calls of an imperative program are executed or evaluated.
Control tables are tables that control the control flow or play a major part in program control.
In linear algebra, a coordinate vector is a representation of a vector as an ordered list of numbers that describes the vector in terms of a particular ordered basis.
A CPU cache is a hardware cache used by the central processing unit (CPU) of a computer to reduce the average cost (time or energy) to access data from the main memory.
Data parallelism is parallelization across multiple processors in parallel computing environments.
In computer science, a data structure is a data organization and storage format that enables efficient access and modification.
In computer science and computer programming, a data type or simply type is a classification of data which tells the compiler or interpreter how the programmer intends to use the data.
A database is an organized collection of data, stored and accessed electronically.
The Dictionary of Algorithms and Data Structures is a dictionary style reference for many of the algorithms, algorithmic techniques, archetypal problems, and data structures found in the field of computer science.
In computer programming, a dope vector is a data structure used to hold information about a data object,, especially its memory layout.
In computer science, a double-ended queue (abbreviated to deque) is an abstract data type that generalizes a queue, for which elements can be added to or removed from either the front (head) or back (tail).
In computer science, a dynamic array, growable array, resizable array, dynamic table, mutable array, or array list is a random access, variable-size list data structure that allows elements to be added or removed.
EDVAC (Electronic Discrete Variable Automatic Computer) was one of the earliest electronic computers.
In computer programming, an enumerated type (also called enumeration, enum, or factor in the R programming language, and a categorical variable in statistics) is a data type consisting of a set of named values called elements, members, enumeral, or enumerators of the type.
In computing, external storage comprises devices that store information outside a computer.
Fortran (formerly FORTRAN, derived from Formula Translation) is a general-purpose, compiled imperative programming language that is especially suited to numeric computation and scientific computing.
In computer storage, fragmentation is a phenomenon in which storage space is used inefficiently, reducing capacity or performance and often both.
In computer programming, a handle is an abstract reference to a resource.
In computing, a hash table (hash map) is a data structure that implements an associative array abstract data type, a structure that can map keys to values.
In computer science, a heap is a specialized tree-based data structure that satisfies the heap property: if P is a parent node of C, then the key (the value) of P is either greater than or equal to (in a max heap) or less than or equal to (in a min heap) the key of C. The node at the "top" of the heap (with no parents) is called the root node.
In computer science, a high-level programming language is a programming language with strong abstraction from the details of the computer.
In computer programming, an Iliffe vector, also known as a display, is a data structure used to implement multi-dimensional arrays.
In computer science, an implicit data structure or space-efficient data structure is a data structure that stores very little information other than the main or required data: a data structure that requires low overhead.
An index register in a computer's CPU is a processor register used for modifying operand addresses during the run of a program, typically for doing vector/array operations.
An integer (from the Latin ''integer'' meaning "whole")Integer 's first literal meaning in Latin is "untouched", from in ("not") plus tangere ("to touch").
In computer science, a ragged array, also known as a jagged array, is an array of arrays of which the member arrays can be of different sizes and producing rows of jagged edges when visualized as output.
John von Neumann (Neumann János Lajos,; December 28, 1903 – February 8, 1957) was a Hungarian-American mathematician, physicist, computer scientist, and polymath.
In computer science, a Judy array is a data structure implementing a type of associative array with high performance and low memory usage.
In computer science, a linked list is a linear collection of data elements, whose order is not given by their physical placement in memory.
Lisp (historically, LISP) is a family of computer programming languages with a long history and a distinctive, fully parenthesized prefix notation.
In computer science, a list or sequence is an abstract data type that represents a countable number of ordered values, where the same value may occur more than once.
In computer science, locality of reference, also known as the principle of locality, is a term for the phenomenon in which the same values, or related storage locations, are frequently accessed, depending on the memory access pattern.
In computer science, a lookup table is an array that replaces runtime computation with a simpler array indexing operation.
In mathematics, a matrix (plural: matrices) is a rectangular array of numbers, symbols, or expressions, arranged in rows and columns.
Memory management is a form of resource management applied to computer memory.
Memory pools, also called fixed-size blocks allocation, is the use of pools for memory management that allows dynamic memory allocation comparable to malloc or C++'s operator new.
Memory segmentation is the division of a computer's primary memory into segments or sections.
In computer science, merge sort (also commonly spelled mergesort) is an efficient, general-purpose, comparison-based sorting algorithm.
The National Institute of Standards and Technology (NIST) is one of the oldest physical science laboratories in the United States.
The octet is a unit of digital information in computing and telecommunications that consists of eight bits.
In computer science, an offset within an array or other data structure object is an integer indicating the distance (displacement) between the beginning of the object and a given element or point, presumably within the same object.
In computer science, overhead is any combination of excess or indirect computation time, memory, bandwidth, or other resources that are required to perform a specific task.
In computing, a group of parallel arrays (also known as structure of arrays or SoA) is a form of implicit data structure that uses multiple arrays to represent a singular array of records.
In computer science, a perfect hash function for a set is a hash function that maps distinct elements in to a set of integers, with no collisions.
In computer science, a pointer is a programming language object that stores the memory address of another value located in computer memory.
In computer science, a queue is a particular kind of abstract data type or collection in which the entities in the collection are kept in order and the principal (or only) operations on the collection are the addition of entities to the rear terminal position, known as enqueue, and removal of entities from the front terminal position, known as dequeue.
In computer science, a radix tree (also radix trie or compact prefix tree) is a data structure that represents a space-optimized trie in which each node that is the only child is merged with its parent.
In computer programming, rank with no further specifications is usually a synonym for (or refers to) "number of dimensions"; thus, a two-dimensional array has rank two, a three-dimensional array has rank three and so on.
In computer science, a record (also called a structure, struct, or compound data) is a basic data structure.
In computer science, a reference is a value that enables a program to indirectly access a particular datum, such as a variable's value or a record, in the computer's memory or in some other storage device.
In computing, row-major order and column-major order are methods for storing multidimensional arrays in linear storage such as random access memory.
In computer science, run time, runtime or execution time is the time during which a program is running (executing), in contrast to other program lifecycle phases such as compile time, link time and load time.
In computer science, a search tree is a tree data structure used for locating specific keys from within a set.
In computer science, a self-balancing (or height-balanced) binary search tree is any node-based binary search tree that automatically keeps its height (maximal number of levels below the root) small in the face of arbitrary item insertions and deletions.
In computer science, self-modifying code is code that alters its own instructions while it is executing – usually to reduce the instruction path length and improve performance or simply to reduce otherwise repetitively similar code, thus simplifying maintenance.
A sorted array is an array data structure in which each element is sorted in numerical, alphabetical, or some other order, and placed at equally spaced addresses in computer memory.
In computer science, a stack is an abstract data type that serves as a collection of elements, with two principal operations.
In computer programming, a statement is a syntactic unit of an imperative programming language that expresses some action to be carried out.
In computer programming, the stride of an array (also referred to as increment, pitch or step size) is the number of locations in memory between beginnings of successive array elements, measured in bytes or in units of the size of the array's elements.
In computer programming, a string is traditionally a sequence of characters, either as a literal constant or as some kind of variable.
In computer programming, a subroutine is a sequence of program instructions that performs a specific task, packaged as a unit.
In computer programming languages, a switch statement is a type of selection control mechanism used to allow the value of a variable or expression to change the control flow of program execution via a multiway branch.
A table is an arrangement of data in rows and columns, or possibly in a more complex structure.
The Art of Computer Programming (sometimes known by its initials TAOCP) is a comprehensive monograph written by Donald Knuth that covers many kinds of programming algorithms and their analysis.
Theoretical computer science, or TCS, is a subset of general computer science and mathematics that focuses on more mathematical topics of computing and includes the theory of computation.
In computer science, the time complexity is the computational complexity that describes the amount of time it takes to run an algorithm.
In mathematics and computing, a triangular array of numbers, polynomials, or the like, is a doubly indexed sequence in which each row is only as long as the row's own index.
In mathematics, a tuple is a finite ordered list (sequence) of elements.
In computer science, a value is the representation of some entity that can be manipulated by a program.
A Van Emde Boas tree (or Van Emde Boas priority queue), also known as a vEB tree, is a tree data structure which implements an associative array with -bit integer keys.
In computer programming, a variable or scalar is a storage location (identified by a memory address) paired with an associated symbolic name (an identifier), which contains some known or unknown quantity of information referred to as a value.
In computer programming, a variable-length array (VLA), also called variable-sized, runtime-sized, is an array data structure whose length is determined at run time (instead of at compile time).
In computing, a vector processor or array processor is a central processing unit (CPU) that implements an instruction set containing instructions that operate on one-dimensional arrays of data called vectors, compared to scalar processors, whose instructions operate on single data items.
A vector space (also called a linear space) is a collection of objects called vectors, which may be added together and multiplied ("scaled") by numbers, called scalars.
In computing, virtual memory (also virtual storage) is a memory management technique that provides an "idealized abstraction of the storage resources that are actually available on a given machine" which "creates the illusion to users of a very large (main) memory." The computer's operating system, using a combination of hardware and software, maps memory addresses used by a program, called virtual addresses, into physical addresses in computer memory.
In computing, a word is the natural unit of data used by a particular processor design.
Zero-based numbering or index origin.