# Recursion

# 1) In your own words, what is recursion?
# Recursion refers to a function that calls itself.

# Why is it necessary to have a base case?
# If there is no base case or it can't be reached, the recursion could go on forever 

# Graphs
# What is a graph?
# It's a data structure that has nodes and edges. The nodes (or vertices) are connected by edges (or arcs). 
# Nodes are units of data and the edges (arcs (think of link)) are the connections between the relationships of nodes.

# Give an example of something that would be good to model with a graph.

# A food chain that shows every single arrow indicating which animal preys on each other. 

#Sorting
# 1) Describe in words how the Bubble Sort algorithm works.
# Considered one of the the simpliest algorithms to sort an array of objects. It works by comparing a
# adjacent elements and swapping them if they are not already in lowest to highest order. 

# 2) Describe in words how the Merge Sort algorithm works.
# Merge sort is based on the divide and conquer technique, where a problem is subdivided into smaller
# problems. Lets say we have an array of 4123, it will be divided into two arrays consisting of 41, 23.
# Then we divide them again so it is 4, 1, 2, 3. Then they are added back into halves and sorted 14, 23. 
# Lastly, the two halves are added together and sorted into 1234. 

# 3) Describe in words how the Quick Sort algorithm works.
# There is a pivot number that is used to move all smaller numbers (than pivot) to the beginning 
# and all greater numbers to the right of the pivot number. 
