Explain how to use an array of pointers to refer to objects allocated elsewhere in C. What should and should not be allocated specifically for the pointer array? 3. Explain how to use an array of pointers to act as a flexible dynamically allocated array in C. What must be allocated for this kind of double-pointer array? 4. A simple sorting algorithm has quadratic (2) performance. It takes three minutes to sort a list of 1,000 entries. How long do you expect it to take to sort a list of 100,000 entries? How did you arrive at your answer? 5. A binary searching algorithm has logarithmic (log) performance. It takes a second to find an item in a list of 1,000,000 entries. How long do you expect it to take to find an item in a list of 100 entries? How did you arrive at your answer? 6. A naïve searching algorithm took three seconds to find an item in a list of 2,700 entries and eight seconds to find an item in a list of 7,200 entries. Estimate its runtime in terms of milliseconds per entry. How did you arrive at your answer? 7. An unknown searching algorithm took a second to find an item in a list of 250 entries, two seconds to find an item in a list of 2,500 entries, and four seconds to find an item in a list of 250,000 entries. Estimate its runtime in big- terms. How did you arrive at your answer?