Spring '01 Project 1 questions: Instructions: Please answer the following questions. Submit the answers along with your project code. Please do not change the name of the file - it must be 341-Spring01-proj1_questions.txt - or the automatic script will not be able to find it and you won't get credit for having answered the questions. Your answers need not be very long, but they must be relevant and complete. Answers should not consist only of code. They should be short English explanations that show you know what you are doing in the code. Your answers must use correct grammar and spelling. 1: The project asked you to use a vector to store set members. What is the worst-case time complexity for each of the following functions? a) inserting a member into a set? b) the == operator, comparing 2 sets? c) the set union operator? 2: If you had to use a vector to store set members and you wanted to improve the performance of the set, how would you go about it? Suppose that you were not constrained by having to use a vector to store set elements. Now, how might you improve performance? 3: Suppose that after you had completed this project, you had to change the Set implementation to make it run better, and you decided to use something other than a vector to hold set members. How would this change affect the public interface to the set class? 4: Suppose that the Set implementation needed to change to handle set complements - that is, suppose there were some universal set, U, and you needed to implement the operation !S, which takes a set, S and returns U - S. (for instance, if S were {1, 2, 5}, then !S is all integers except 1, 2, 5). How could you extend the set class (in its present form using vectors to store items) to accomplish this?