Question: Here's what I have coded so far: import sys import timeit from collections import deque import queue def measure _ memory ( data _ structure

Here's what I have coded so far:
import sys
import timeit
from collections import deque
import queue
def measure_memory(data_structure):
return sys.getsizeof(data_structure)
def measure_time(operation, data_structure, n):
return timeit.timeit(lambda: operation(data_structure), number=n)
def test_deques_vs_queues(sizes):
results ={
"deque_memory": [],
"queue_memory": [],
"deque_append_time": [],
"queue_put_time": [],
"deque_pop_time": [],
"queue_get_time": []
}
for size in sizes:
deque_obj = deque()
queue_obj = queue.Queue()
for _ in range(size):
deque_obj.append(1)
queue_obj.put(1)
results["deque_memory"].append(measure_memory(deque_obj))
results["queue_memory"].append(measure_memory(queue_obj))
results["deque_append_time"].append(measure_time(deque_obj.append, deque_obj, 1000))
results["queue_put_time"].append(measure_time(queue_obj.put, queue_obj, 1000))
results["deque_pop_time"].append(measure_time(deque_obj.pop, deque_obj, 1000))
results["queue_get_time"].append(measure_time(queue_obj.get, queue_obj, 1000))
return results
sizes =[100,1000,10000,100000]
results = test_deques_vs_queues(sizes)
```
# Question 3
import sys
import timeit
from collections import deque
import queue
def measure_memory(data_structure):
return sys.getsizeof(data_structure)
def measure_time(operation, data_structure, n):
return timeit.timeit(lambda: operation(data_structure), number=n)
def test_deques_vs_queues(sizes):
results ={
"deque_memory": [],
"queue_memory": [],
"deque_append_time": [],
"queue_put_time": [],
"deque_pop_time": [],
"queue_get_time": []
}
for size in sizes:
deque_obj = deque()
queue_obj = queue.Queue()
for _ in range(size):
deque_obj.append(1)
queue_obj.put(1)
results["deque_memory"].append(measure_memory(deque_obj))
results["queue_memory"].append(measure_memory(queue_obj))
results["deque_append_time"].append(measure_time(deque_obj.append, deque_obj, 1000))
results["queue_put_time"].append(measure_time(queue_obj.put, queue_obj, 1000))
results["deque_pop_time"].append(measure_time(deque_obj.pop, deque_obj, 1000))
results["queue_get_time"].append(measure_time(queue_obj.get, queue_obj, 1000))
return results
sizes =[100,1000,10000,100000]
results = test_deques_vs_queues(sizes)|
```
Here's what I have coded so far: import sys

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!