Consider a BinarySearchTree To, containing a numerical values, whose root is the median value in the tree. (The median value is the value such that half of the values are less and the other half are greater.) Suppose that N additional values are added to the tree T, using the standard insertion algorithm, to create an updated tree T. The newly-added values are all larger than the largest value that T, stored, and they are added in an unknown order. Note: N refers to both the original number of nodes in T, and the number of nodes added to T, to create Tz. Hence T, contains 2N nodes. You may assumen > 0. Which of these statements is/are true about the creation of T,? Select ALL that apply: A. Adding the last new value could take time proportional to N log N. B. The root of T, holds the median value of T, C. Adding the last new value could take time proportional to log N. D There are more values in the right subtree of T, than in the left subtree. E. Adding the last new value could take time proportional to N. Imagine you are implementing "undo" functionality in a program: you want to save the user's actions with the ability to undo them in reverse order. For example, if a user performs operations a, b, and then c, activating your undo function would undo first c, then b, then a. You have a singlyLinkedlist whose implementation has a reference only to its head. With the goal of providing the best performance for your undo operation, how would you best use the SinglyLinkedList to store the user's actions? Select ALL that apply: A. Add to the start of the SinglyLinkedList and remove from the end. B. Add to the end of the SinglyLinkedlist and remove from the end.C. Add to the start of the SinglyLinkedList and remove from the start. D. Add to the end of the SinglyLinkedList and remove from the start.