Implementing Lists, Stacks, Queues, and Priority Queues

Pataasin ang iyong marka sa homework at exams ngayon gamit ang Quizwiz!

D. Retrieve an element given the index.

ArrayList is more efficient than LinkedList for the following operations:

D. Both code fragment A and B have the same time complexity O(n), but A runs slightly faster beacuse LinkedList has more overhaed on creating object for each node in the linked list.

Suppose list1 is a MyArrayList and list2 is a MyLinkedList. Both contains 1 million double values. Analyze the following code: A: while (list1.size() > 0) list1.remove(size() - 1); B: while (list2.size() > 0) list2.removeLast();

D. Both code fragment A and B have the same time complexity O(n), but A runs slightly faster beacuse LinkedList has more overhaed on creating object for each node in the linked list.

Suppose list1 is a list and list2 is a LinkedList. Both contains 1 million double values. Analyze the following code: A: for (int i = 0; i < list1.size(); i++) list1.add(i); B: for (int i = 0; i < list2.size(); i++) list2.add(i);

B. Code fragment B runs faster than code fragment A.

Suppose list2 is a MyLinkedList. Analyze the following code: A: while (list2.size() > 0) list2.remove(list2.get(list2.size() - 1)); B: while (list2.size() > 0) list2.removeLast();

A. Stack

Suppose the rule of the party is that the participants who arrive later will leave earlier. Which data structure is appropriate to store the participants?

B. Queue

Which data structure is appropriate to store customers in a clinic for taking flu shots?

C. Priority Queue

Which data structure is appropriate to store patients in an emergency room?

A. A stack can be viewed as a special type of list, where the elements are accessed, inserted, and deleted only from the end, called the top, of the stack. B. A queue represents a waiting list. A queue can be viewed as a special type of list, where the elements are inserted into the end (tail) of the queue, and are accessed and deleted from the beginning (head) of the queue. C. Since the insertion and deletion operations on a stack are made only at the end of the stack, using an array list to implement a stack is more efficient than a linked list. D. Since deletions are made at the beginning of the list, it is more efficient to implement a queue using a linked list than an array list.

Which of the following are true?

A. Retrieve an element from this list. B. Insert a new element to this list. C. Delete an element from this list. D. Find how many elements are in this list. E. Find whether an element is in this list.

Which of the following operations are supported by a list?

A. MyArrayList and MyLinkedList are two concrete implementations of MyList. B. MyArrayList is implemented using an array. The array is dynamically created. If the capacity of the array is exceeded, create a new larger array and copy all the elements from the current array to the new array. C. MyLinkedList is implemented using a linked structure. D. A linked structure consists of nodes. Each node is dynamically created to hold an element. All the nodes are linked together to form a list. E. MyAbstractList partially implements MyList.

Which of the following statements are true?

A. A list

________ is a data structure to store data in a sequential order.

A. Insert/delete an element in the middle of the list. B. Insert/delete an element in the beginning of the list.

LinkedList is more efficient than ArrayList for the following operations:

B. Code fragment B runs faster than code fragment A.

Suppose list1 is a MyArrayList and list2 is a MyLinkedList. Both contains 1 million double values. Analyze the following code: A: for (int i = 0; i < list1.size(); i++) list1.add(0, i); B: for (int i = 0; i < list2.size(); i++) list2.add(0, i);

A. Code fragment A is more efficient that code fragment B.

Suppose list1 is a MyArrayList and list2 is a MyLinkedList. Both contains 1 million double values. Analyze the following code: A: for (int i = 0; i < list1.size(); i++) sum += list1.get(i); B: for (int i = 0; i < list2.size(); i++) sum += list2.get(i);

B. Code fragment B runs faster than code fragment A.

Suppose list1 is a MyArrayList and list2 is a MyLinkedList. Both contains 1 million double values. Analyze the following code: A: while (list1.size() > 0) list1.remove(0); B: while (list2.size() > 0) list2.remove(0);

A. head is null. B. tail is null. C. head == tail.

If a linked list is empty, which of following statements are true?

A. size indicates the number of elements in the list. B. capacity is the length of the array used to store the elements in the list. D. size is reduced by 1 if an element is deleted from the list. Explanation: (C) is not correct because capacity may equal to size.

In the implementation of MyArrayList, which of the following are true?

B. capacity never reduces. C. Inside MyArrayList, a regular array is used to store elements. D. size is not declared in MyArrayList, but declared in MyAbstractList as protected. E. If the current capacity equals to size, capacity is doubled when a new element is added to MyArrayList

In the implementation of MyArrayList, which of the following are true?

A. MyLinkedList contains all the methods defined in MyList. Additionally, MyLinkedList defines several new methods that are appropriate for processing a linked list. B. MyArrayList does not introduce new methods. All the methods in MyArrayList are defined in MyList. C. You can use a linked list to improve efficiency for adding and remove an element anywhere in a list. D. You should use an array list if your application does not require adding and remove an element anywhere in a list.

In the implementation of MyLinkedList, which of the following are true?

A. Node is defined as an inner class inside MyLinkedList. B. Node is defined as a static inner class inside MyLinkedList because it does not reference any instance data fields in MyLinkedList. C. Node has a property named next that links to the node after this node. D. Node has a property named element that stores an element.

In the implementation of MyLinkedList, which of the following are true?

B. MyLinkedList has the properties named first and last to point to the nodes in a linked list. C. If a linked list is empty, first is null and last is null. E. last.next is always null

In the implementation of MyLinkedList, which of the following are true?

C. MyStack contains an array list for storing elements. D. MyQueue contains a linked list for storing elements.

In the implementation of MyStack and MyQueue, which of the following are true?


Kaugnay na mga set ng pag-aaral

Ch. 25 Pharm EAQ antidysrhythmics

View Set

Managerial Accounting: Chapter 1

View Set

Biology 1050 practice exam questions

View Set

MKTG 3313 Final question practice

View Set

Chapter 48: Skin Integrity and Wound Care (Skin Integrity and Wound Care - Implementation and Evaluation)

View Set

Phonic, spelling and word study - Vocabulary

View Set