Record✔✔A record is the data structure that stores subitems, often called fields, with
a name associated with each subitem
Array✔✔An array is a data structure that stores an ordered list of items, where each
item is directly accessible by a positional index.
Linked list✔✔A linked list is a data structure that stores an ordered list of items in
nodes, where each node stores data and has a pointer to the next node.
Binary tree✔✔A binary tree is a data structure in which each node stores data and
has up to two children, known as a left child and a right child.
Hash table✔✔A hash table is a data structure that stores unordered items by
mapping (or hashing) each item to a location in an array.
Heap✔✔A max-heap is a tree that maintains the simple property that a node's key is
greater than or equal to the node's childrens' keys. A min-heap is a tree that
maintains the simple property that a node's key is less than or equal to the node's
childrens' keys.
Graph✔✔A graph is a data structure for representing connections among items, and
consists of vertices connected by edges. A vertex represents an item in a graph. An
edge represents a connection between two vertices in a graph.
What Is An Algorithm✔✔An algorithm is a set of commands that must be followed for
a computer to perform calculations or other problem-solving operations.
Computational problem✔✔Specifies an input, a question about the input that can be
answered using a computer, and the desired output.
Does an algorithim need to be in programming language?✔✔An algorithm can be
described in English, pseudocode, a programming language, hardware, etc., as long
as the algorithm precisely describes the steps of a computational procedure.
NP-complete✔✔A set of problems for which no known efficient algorithm exists
Abstract Data Type (ADT)✔✔Data type described by predefined user operations,
without indicating how each operation is implemented.
List✔✔A list is an ADT for holding ordered data.
Common underlying data structures:
Array, linked list
Dynamic array✔✔A dynamic array is an ADT for holding ordered data and allowing
indexed access.