Play Random: Quiz | Miscellaneous
GeographyEntertainmentScienceHistoryLiteratureSportsLanguageJust For FunReligionMoviesTelevisionMusicGamingMiscellaneousHoliday
Can you name the computer science terms from their definitions?
  • Enter a term in the box below
  • Correctly named terms will show up in the table below
  • Answers do not have to be guessed in order
  • NOTE: this is a study guide Sporcle put together intended to help one of our Sporcle users study for their final.
You have 20 minutes to guess after you click the button below.
Ready? Click to Start
Time remaining: 
Definition Term
a description of operations on a data type that could have multiple possible implementations.
describes a graph with no cycles (circular paths).
a representation of a graph in which each node has a list of nodes that are adjacent to it, i.e. connected to it by an arc.
a representation of a graph in which a boolean matrix contains a 1 at position (i,j) iff there is an arc from node i to node j.
in a tree, the union of a node's parent and the parent's ancestors.
a link between two nodes in a graph.
A contiguous block of memory containing elements of the same type, accessed by numeric index.
a list of pairs, where each pair has a key and a value associated with the key.
a self-balancing sorted binary tree, in which the heights of subtrees differ by at most 1.
a tree with a high branching factor, to minimize the number of disk accesses required to access a desired record.
in a tree search, to move back from the node currently being examined to its parent.
a tree in which the heights of subtrees are approximately equal.
a simple case that can be solved easily, without recursion.
an abstracted function that describes the amount of computer time or memory space required by an algorithm, as a function of problem size. For problems larger than a certain size,
describes a relation that is both injective and surjective (one-to-one and onto).
a data structure that implements a complete binary tree within an array, such that every parent node has a value that is less than the value of either of its children.
search of a binary tree or other structure, in which the size of the set to be searched is cut in half at each step.
a tree in which each node has at most two children.
an association of a name with a value.
a list structure that represents a set of bindings.
a matrix whose elements are 0 or 1.
a number that is defined as an object, so that it has a runtime type and methods that can be used, e.g. Integer in Java.
in a search tree, the number of children of a given node. Often, the branching factors of individual nodes will vary, so an average value may be used.
a collection, such as a linked list, of values that hash to the same value.
to save a value locally to save re-computing or transferring it in the future.
a set of pairs (x, y) of elements from two sets X and Y.
in a tree, a node pointed to by a parent node.
a queue implemented within an array, where the first element of the array logically follows the last element.
a linked list in which the last element points back to the first element.
in object-oriented programming, a description of a set of similar objects.
a situation in which many elements has to the same hash value.
when two values to be stored in a hash table have the same hash value.
the act of comparing two values to determine which is greater according to some ordering.
1. in Lisp, the function that constructs a pair of pointers, or basic element of list structure. 2. to make a cons data structure. 3. a cons data structure.
describes a function that makes a new data structure but does not modify its arguments.
a circular path in a graph.
directed acyclic graph.
the number of links between the root of a tree and the leaves.
a search in which children of a node are considered (recursively) before siblings are considered.
to convert from a pointer (address) to the data that is pointed to.
all nodes below a given node in a tree.
a pattern that describes a set of similar programs.
describes a function that modifies its arguments.
depth-first search.
an optimal greedy algorithm to find the minimum distance and shortest path in a weighted graph from a give start node.
describes an arc that can only be traversed in one direction, or a graph with such arcs.
a directed graph with no cycles. Every tree is a DAG, but a DAG may be more general.
a simulation in terms of events, in which the highest-priority (least time) event is removed from an event queue and executed, which may have the effect of scheduling future events
a problem-solving strategy in which a problem is broken down into sub-problems, until simple subproblems are reached.
the set of values that are the source values of a mapping.
a linked list in which each element has both forward and backward pointers.
a link or arc between nodes in a graph.
Definition Term
a binary Boolean function whose output is 1 if its inputs are different. Abbreviated XOR.
another term for hashing with buckets.
a sort using external storage in addition to main memory.
describes a process in which every arriving customer will eventually be served.
first-in, first-out
a process that removes unwanted elements from a collection.
a way of implementing trees that uses two pointers per node but can represent an arbitrary number of children of a node.
to process a set of items using a specified function; another term for reduce.
storage that is no longer pointed to by any variable and therefore can no longer be accessed.
the process of collecting garbage for recycling.
describes a thought experiment or view of an entity.
a series in which each successive term is multiplied by a constant less than 1, e.g. 1 + 1/2 + 1/4 + 1/8 + ...
an item (or description of items) being sought in a search.
a formal description of a language in terms of vocabulary and rules for writing phrases and sentences.
a set of nodes and arcs connecting the nodes.
an algorithm that always tries the solution path that appears to be the best.
a function that is deterministic but randomizing, i.e. whose output is a relatively small integer that appears to be a random function of the key value.
describes a data structure that cannot be changed once it has been created, such as Integer or String in Java.
describes a sort that does not require any additional memory.
describes a mapping in which each element of the domain maps to a single element of the range. Also, one-to-one.
an order of processing a tree in which the parent node is processed in between its children.
a node of a tree that has children.
a sort using only the main memory of the computer.
given two sets, the intersection is the set of elements that are members of both sets.
a problem that is so hard (typically exponential) that it cannot be solved unless the problem is small.
an object containing data and methods to iterate through a collection of data, allowing processing of one data item at a time.
a tree node containing a contents value but with no children.
last-in, first out
O(n), a problem whose solution requires a linear amount of time or space if the problem is of size n.
a pointer to the next element in a linked list.
a sequence of records, where each record contains a link to the next one.
in a hash table, the fraction of the table's capacity that is filled.
in MapReduce, a program that processes an element of the input and emits one or more (key, value) pairs.
association of one or more elements of a Range set with each element of a Domain set.
a program that controls a set of other programs or devices.
a priority queue in which the maximum element is removed first.
the processing of data in such a way that data that are located near each other are processed nearby in time.
to combine two ordered linear structures into one.
a priority queue in which the minimum element is removed first.
an element of a linked list, tree, or graph, often represented by a data structure.
a runtime error that occurs when an operation such as a method call is attempted on a null pointer.
a data structure that can be identified at runtime as being a member of a class.
describes a sorting algorithm that can process items one at a time.
describes a mapping in which each element of the domain maps to a single element of the range. Also, injective.
describes a mapping in which each element of the range is the target of some element of the domain. Also, surjective.
a description of the kinds of objects that exist in a computer program, e.g. a Java class hierarchy.
in a search tree, a program that changes a state into a child state, e.g. a move in a game.
in a tree, a node that points to a given node.
analysis of a sentence of a language to determine the elements of the sentence and their relationship and meaning.
a sequence of steps along arcs in a graph.
a representation of a class of objects, containing some constant elements in relation to variable elements.
a part of a pattern that can match variable parts of an input.
Definition Term
in Quicksort, a 'center' value used in partitioning the set to be sorted.
a variable containing the address of other data.
an order of processing a tree in which the parent node is processed after its children.
an order of processing a tree in which the parent node is processed before its children.
a queue in which the highest-priority elements are removed first; with a priority value, the earliest arrival is removed first.
O(n2), a problem whose solution requires a quadratic amount of time or space if the problem is of size n.
a data structure representing a sequence of items, which are removed in the same order as they were inserted.
describes a data structure or device in which all accesses have the same cost, O(1).
an algorithm in which the data to be processed or the deice to process it is randomly selected.
a set of values that are the targets of a mapping.
a case where a program calls itself.
a condition of the input data where the data will be handled by call(s) to the same program.
a self-balancing binary tree in which nodes are 'colored' red or black. The longest path from the root to a leaf is no more than twice the length of the shortest path.
to apply a given function to the elements of a given list. Also, fold.
a pointer to data.
a type in which variables of that type are pointers to objects.
to apply a different hashing function to a key when a collision occurs.
the top node of a tree, from which all other nodes can be reached.
a stack containing a stack frame of variable values for each active invocation of a procedure.
the ability of an algorithm or hardware system to grow to handle a larger number of inputs.
to look through a data structure until a goal object is found.
an extra record at the start or end of a data structure such as a linked list, to simplify the processing.
given two sets, the set difference is the set of elements of the first set that are not members of the second set.
to hide similar items with the same name.
the shortest path between a start node and a goal node in a weighted graph. <
any effect of a procedure other than returning a value, e.g. printing or modifying a data structure.
a path between two nodes in a graph that does not revisit any intermediate node.
a program or device that operates under control of a master.
to modify the order of a set of elements so that a desired ordering holds between them, e.g. alphabetic order.
an array in which most of the elements are zero or missing.
a graph in which any node is connected to relatively few other nodes.
a self-balancing binary tree that places recently accessed elements near the top of the tree for fast access.
describes a sort algorithm in which the relative position of elements with equal keys is unchanged after sorting.
a section of the runtime stack holding the values of all variables for one invocation of a procedure.
the amount of space on the runtime stack required for execution of a program.
a description of the state of a process, such as a board game.
a case where two data structures share some elements.
the next element in a linked list.
describes a mapping in which each element of the range is the target of some element of the domain. Also, onto.
a data structure that links names to information about the objects denoted by the names.
a function whose value either does not involve a recursive call, or is exactly the value of a recursive call.
a classification of objects into a tree structure that groups related objects.
changing the links in a binary tree to change the relative heights of the child subtrees, while leaving the sort order of the tree unchanged.
describes a graph in which the arcs may be followed in either direction.
given two sets, the union is the set of elements that are members of either set.
converting an abstract syntax tree into a sentence in a language, such as a programming language.
a node in a graph.
a number that denotes the cost of following an arc in a graph.
an ordering that can be guaranteed to terminate, e.g. starting at a positive integer and counting down to 0.
Extensible Markup Language, a way of writing data in a tree-structured form by enclosing it in tags.
exclusive or.
There are 18 comments for this game.
(Warning: comments may contain spoilers)