Question
1. Below are five computational tasks. For each one, choose the data structure or abstract data type you feel best suited to the task from
1. Below are five computational tasks. For each one, choose the data structure or abstract data type you feel best suited to the task from the following list: Stack, Queue, Hashtable, AVL Tree, Priority Queue, Union-Find. In addition, list the basic operations for the data structure or ADT that you chose and give asymptotic worst-case running times for those operations. No additional explanation is required.
a) While processing a list of objects, check if you have processed a particular object before.
b) Store a list of students and their grades. You must also provide an efficient way for a client to see all students sorted in alphabetical order by name. Give the running time for this operation as well.
c) Process a digital image to divide the image up into groups of pixels of the same color.
d) Compute a frequency analysis on a _le. That is, count the number of times each character occurs in the file, and store the results.
e) Store the activation records (i.e. objects containing the return address and local variable associated with a function call) for nested function calls.
f) What is log2(1; 000; 000; 000) to the nearest whole number?
g) Your friend says she does not like implementing algorithms that have amortized run-time guarantees because amortization makes it harder to debug her code. Why does this argument make no sense? (A one sentence answer is probably enough.)
Don't just answer one letter plss. I dont want to post this question again.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started