I’m working on a algorithms & data structures question and need support to help me understand better.1.chose the true statments. (Your score for this questions will be proportional to the number
of statements you mark correctly, plus the number you correctly leave unmarked, minus the
number you should have marked but didn’t, minus the number you shouldn’t have marked
but did.)
(a) lg n
n = O(lg n!)
(b) n
(n+1) mod 2 = Ω(n
n mod 2) for n ∈ N
(c) n
(3n) mod 2 = O(n
n mod 2) for n ∈ N
(d) If T(n) = 7T(n/3) + n4
then T(n) = Ω(n
4/ log n).
(e) If T(n) = 8T(n/2) + 8n3
then T(n) = Θ(n3
log n).
2. Explain how you can sort a sequence of n integers from a range of size n
lg lg n
in O(n log log n)
time (assuming each integer fits in a constant number of machine words).
3. An in-place algorithm uses a constant number of machine words of memory on top of the
memory initially occupied by its input and eventually occupied by its output. Give code or
pseudo-code for an in-place version of QuickSort.
Continued on Next Page!
1 4. You’ve probably seen in previous courses how to build a min-heap on n elements in O(n)
time and how to extract the minimum value from one in O(log n) time. Do you think we can
easily extract the minimum value in o(log n) time while still leaving a heap on the remaining
elements? Why or why not?
5. Suppose you have an algorithm that, given a sequence of n integers that can be partitioned
into d non-decreasing subsequences but not fewer, does so in O(n log d) time. Explain how
you can also sort such a sequence in O(n log d) time.
Requirements: 5 questions