blanketglossary

Array (data structure)

Definition

In computer science, an array is a data structure consisting of a collection of elements, of the same memory size, each identified by at least one array index or key, the collection of which may be a tuple, known as an index tuple. In general, an array is a mutable and linear collection of elements with the same data type. An array is stored such that the position of each element can be computed from its index tuple by a mathematical formula. The simplest type of data structure is a linear array, also called a one-dimensional array.

Related concepts

32-bitAA treeALGOLAPIAVL treeAbstract data typeAddressing modeAlgorithmAmdahl's lawAmortized analysisAnalysis of parallel algorithmsApplication checkpointingArray (data type)Array data structureArray data typeArray slicingAssociation listAssociative arrayAsymmetric multiprocessingAteji PXAutomatic parallelizationB-treeBarrier (computer science)Beowulf clusterBig-O notationBinary decision diagramBinary heapBinary search treeBinomial heapBit-level parallelismBit arrayBitwise operationBoost (C++ libraries)Bulldozer (microarchitecture)Burroughs large systemsC++C++ AMPCOBOLCUDAC (programming language)Cache-only memory architectureCache coherenceCache invalidationCache stampedeCentral processing unitChapel (programming language)Character (computing)Charm++CilkCircular bufferCloud computingCoarray FortranCollection (abstract data type)Computational overheadComputer clusterComputer hardwareComputer multitaskingComputer networkComputer programmingComputer scienceConcurrency (computer science)Constant timeContainer (abstract data type)Contiguous data storageControl flowControl tableCoordinate vectorCost efficiencyData parallelismData structureData typeDatabaseDataflow architectureDataflow programmingDeadlock (computer science)Deterministic acyclic finite state automatonDeterministic algorithmDictionary of Algorithms and Data StructuresDirected acyclic graphDisjoint-set data structureDistributed computingDistributed memoryDistributed shared memoryDonald KnuthDope vectorDouble-ended priority queueDouble-ended queueDryad (programming)Dynamic arrayDynamic memory allocationEDVACEmbarrassingly parallelEnumerated typeExplicit parallelismExternal storageFiber (computer science)Fibonacci heapFlynn's taxonomyFortranGPUOpenGeneral-purpose computing on graphics processing unitsGlobal ArraysGraph (abstract data type)Grid computingGustafson's lawHPXHandle (computing)Hardware accelerationHardware scoutHash functionHash tableHash tree (persistent data structure)Hashed array treeHeap (data structure)HexadecimalHigh-level programming languageHigh-performance computingHilbert R-treeIliffe vectorImplicit data structureImplicit parallelismIndex registerInstruction-level parallelismInstruction pipeliningInstruction windowIntegerJagged arrayJava (programming language)John von NeumannJudy arrayKarp–Flatt metricLinked data structureLinked listLisp (programming language)List (abstract data type)List (computing)List of data structuresLocality of referenceLookup tableLoop-level parallelismManycore processorMassively parallelMatrix (mathematics)Memory-level parallelismMemory coherenceMemory poolMemory segmentationMerge sortMessage Passing InterfaceMultimapMultiple instruction, multiple dataMultiple instruction, single dataMultiprocessingMultithreading (computer architecture)National Institute of Standards and TechnologyNon-blocking algorithmNon-uniform memory accessOctet (computing)Offset (computer science)OpenACCOpenCLOpenHMPPOpenMPOverhead (computing)Parallel ExtensionsParallel RAMParallel Virtual MachineParallel algorithmParallel arrayParallel computingParallel external memoryParallel programming modelParallel slowdownPascal stringPerfect hash functionPipeline (computing)Pointer (computer programming)Preemption (computing)Priority queueProcess (computing)Processor cachePthreadsQueue (abstract data type)R* treeR+ treeR-treeROCmRace conditionRadix treeRaftLibRank (computer programming)Record (computer science)Red–black treeReference (computer science)Retrieval Data StructureRobert Sedgewick (computer scientist)Rope (data structure)Row- and column-major orderRun time (program lifecycle phase)ScalabilityScalar (computing)Search treeSelf-balancing binary search treeSelf-modifying codeSemiconductor memorySet (abstract data type)Shared memorySimultaneous and heterogeneous multithreadingSimultaneous multithreadingSingle instruction, multiple dataSingle instruction, multiple threadsSingle instruction, single dataSkip listSoftware lockoutSorted arraySparse matrixSpeculative multithreadingSpeedupSplay treeStack (abstract data type)Stack (data structure)Starvation (computer science)Statement (programming)Stream processingStride of an arrayString.hString (computer science)SubroutineSuperscalar processorSwitch statementSymmetric multiprocessingSynchronization (computer science)Systolic arrayTable (information)Task parallelismTemporal multithreadingThe Art of Computer ProgrammingTheoretical computer scienceThread (computing)Threading Building BlocksTree (data structure)Triangular arrayTrieTupleUnified Parallel CUniform memory accessUnrolled linked listValue (computer science)Van Emde Boas treeVariable-length arrayVariable (programming)Vector processorVector spaceVirtual memoryWord (data type)XOR linked listZPL (programming language)Zero-based numbering

11 concepts already in your glossary