recursion the drawspiral function will be given radius for the sprial to get circular spiralevery recursive call to the drawspiral function must decrease the radius just bit and increase the angle you convert the angle and the radius to its ( ,ycoordinate equivalent and then draw line to that location you must also pass an ( ,ycoordinate to the drawspiral function for the center point of your spiral thenany coordinates you compute will be added to the center ( ,yyou can follow the square spiral example in the text put this code in program that draws spiral to the screen write program to gather performance data for the reverse function found in this write an xml file in the plot format found in this text to visualize that performance data because this function is recursivekeep your data size small and just gather data for string sizes of - this will help you visualize your result what is the complexity of this reverse functionput comment at the top of your program stating the complexity of reverse in big-oh notation justify your answer by analyzing the code found in the reverse function rewrite the program in sect to use an index that approaches the length of the list instead of an index that approaches zero then write main function that thoroughly tests your new reverse function on lists you must test it on both simple and more complex examples of lists to test it thoroughly this copy belongs to 'acha