Algorithms with Complete
Solutions
Record - ANSWER-Data structure that stores subitems, w/ names associated
w/ each subitem
Array - ANSWER-Data structure that stores an ordered list of items, w/ each
item directly accessible by a positional index.
Linked List - ANSWER-Data structure that stores an ordered list as nodes,
each node stores data and has a pointer to the next node.
Binary Tree - ANSWER-Data structure where each node stores data and has
up to two children, left child and right child.
Hash Table - ANSWER-Data structure that stores unordered items by
mapping each item to a location in an array.
,Max Heap - ANSWER-Tree that maintains the simple property that a node's
key is greater than or equal to a node's children key.
Min Heap - ANSWER-A tree that maintains simple property that node's key is
less than or equal to the node's children key.
Graph - ANSWER-Represents connections among items. Consists of vertices
and edges. Vertex represents an item on a graph. Edges represent a
connection between two vertices.
ADT (Abstract Data Type) - ANSWER-Data type described by predefined user
operations. Does not say anything about the implementation.
List - ANSWER-Common ADT for holding ordered data.Like an array. Can
store ints, strings.
Ex. nums = [5, 25, 30]
Queue - ANSWER-ADT where items are inserted at the end and removed at
the front.
, First in first out ADT.
push - inserts items at the end
pop - removes and returns the item at the front
Dictionary - ANSWER-Maps keys to values. Uses {}. The value can be
number,string, or tuple. Can be any type.
ex. players = {
'Lionel Messi': 10,
'Christiano Ronaldo': 7
}
Function (invoking a function is called a function call, which causes a
function to execute. ) - ANSWER-Named series of statements.
e.g.:
def compute_square(num_square):
return num_square * num_square
Polymorphism - ANSWER-Behavior of function depends on argument type.