data structures
Arrays, trees, stacks
Data structures are ways of organizing and storing information in a computer so it can be accessed and modified efficiently.
Arrays hold ordered sequences, trees represent hierarchies, hash tables enable quick lookups by key.
Choosing the right data structure affects how fast programs run: The interview focused heavily on data structures and algorithms.
Ordered collection or display
- linked listSequential nodes with pointers
- stackItems piled vertically
- queueOrdered waiting line
- treeWoody perennial plant
graph · hash table · set · map · heap · B-tree · matrix · tuple
Woody perennial plant
- binary treeTwo-way branching data structure
- heapJumbled collection of items
- rootUnderground absorbing structure
- branchDivision or woody limb
leaf · depth · level · ancestor · descendant · subtree · balanced · complete
Placing something within
- deletionRemoval of content
- searchAct of seeking
- traversalAct of moving through
- sortingArranging into sequence
access · update · push · pop · enqueue · dequeue · lookup · hashing
Connection point in networks
- vertexPoint where edges converge
- edgeBoundary or sharpness
- pointerReference to memory location
- keyLock-opening device
value · index · element · bucket · slot · head · tail · root
Coordinating program RAM usage
- file systemsData organization methods
- autocompleteSoftware-suggested text completion
- spell checkerTypo-finding software tool
- social graphMap of online relationships
Based on exponents
- linearArranged in straight succession
- quadraticInvolving squared terms
- amortizedGradually written off
- worst caseMost unfavorable possibility
array
Ordered collection or display
- linked listSequential nodes with pointers
- stackItems piled vertically
- queueOrdered waiting line
tree · graph · hash table · set · map · heap · B-tree · matrix · tuple · record
tree
Woody perennial plant
- binary treeTwo-way branching data structure
- heapJumbled collection of items
- rootUnderground absorbing structure
branch · leaf · depth · level · ancestor · descendant · subtree · balanced · complete · full
insertion
Placing something within
sorting · access · update · push · pop · enqueue · dequeue · lookup · hashing · balancing
node
Connection point in networks
key · value · index · element · bucket · slot · head · tail · root · leaf
memory management
Coordinating program RAM usage
- file systemsData organization methods
- autocompleteSoftware-suggested text completion
- spell checkerTypo-finding software tool
logarithmic
Based on exponents
cycle
Repeating sequence of events
- pathRoute for traveling
- shortest pathLeast-distance connection between nodes
- bipartiteDivided into two parts
- computingcomputer, computers, software, hardware, code
- college coursesbiology, calculus, chemistry, physics, quantum physics
- software developmentcoding, programming, bug, debug, debugging
- Kids Codingcoding, programming, code blocks, coding games, coding apps
- programmingvariables, functions, for, function, debugger
- optimizationoptimization, caching, optimum, indexing, prefetching
data structuresraw data
Unanalyzed collected information
entropy · noise · raw input · blob · random access memory
data structuresalgorithms
Finite instruction sequences
machine code · operations · procedures · functions · processes
data, infrastructure, structural, structures, restructure, restructuring, structurally, structuralism, superstructure