Please explain the answers.
Question 1 How does the reverse_str function improve the following program? def rec_reverse_str(st, pos): Returns a new string that is the reverse of st When first called, the pos parameter must be zero if pos == len(st): return " " return rec_reverse_str(st, pos+1) + st[pos] def reverse_str(st): Calls recursive reverse_str function with zero for the second parameter return rec_reverse_str(st, 0) O It allows the user to call reverse_st without having to add the initial 0 argument. O It reduces the time complexity of the rec_reverse_str function. O It checks to make sure the argument passed to rec_reverse_str is a non-empty string. O It adds lines to the program, which looks more professional. Question 2 0/4 pts When writing recursive functions to solve problems, what can you do to make them efficient? Have the base case precede the recursive call in the function definition. O Avoid recomputing subproblems. O Use as many helper functions as possible. Use as few variables as possible.Question 3 0 /4 pts Recursive functions are always the most efficient way to solve a problem, no matter how they are written. True O False Question 4 4/4 pts Given this definition: def reverse_str(st): Returns a new string that is the reverse of st if len(st) == 0: return "" return reverse_str(st[1:]) + st[0] If you were to call the function like so: reverse_str("kumquat") What would be the value of "st" when the base case is reached? O 'kumquat' O 'taugmuk'- Question 5 0/ 4 Pts What purpose does a base case serve in a recursive function? They tell the function when it can stop making recursive calls. Base cases are not necessary: they are just a convention that computer scientists like to honor out of traditionalism. '' The base case is where the function calls itself: this is what makes it recursive. They provide documentation for the function. and can conveniently be cal led via helpi]. Question 6 4/ 4 Pts Memoization avoids recomputing subproblems by keeping a record of solutions to subproblems that have already been solved. '' True False