代写CS 1332 Exam 1 Spring Semester 2021调试Java编程

CS 1332 Exam 1 - Version A

Spring Semester 2021- February 17, 2022

1) E fficiency - Multiple Choice [15 points]

For each of the operations listed below, determine the time complexity of the operation as it pertains to the data structure. Select the bubble corresponding to your choice in the space provided, and completely fill in the bubble. Unless otherwise stated, assume the worst-case time complexity.

However, make sure you choose the tightest Big-O upper bound possible for the operation. Do not use an amortized analysis for these operations unless otherwise specified.

A) What is the worst-case cost of removing an element from an array-backed stack?

 O(1)            O(n)        O(log n)         O(nlog n)         O(n2)

B) What is the worst-case cost of adding an element to an array-backed stack?

 O(n)             O(1)        O(log n)         O(nlog n)         O(n2)

C) What is the worst-case cost of adding an element to an array-backed queue?

 O(n)             O(log 1)        O(log n)         O(nlog n)         O(n2)

D) What is the worst-case cost of removing from the front of a Circular Singly Linked List without a tail pointer?

 O(1)            O(log n)        O(n)         O(nlog n)         O(n2)

E) What is the worst-case cost of removing the last element in an ArrayList that does not have a size variable?

 O(n)             O(1)        O(n2)         O(nlog n)         O(log n)

2) Data Structure Properties - Multiple Choice [10 points]

For each of the scenarios listed below, determine the most appropriate choice data structure. Answer choices for different scenario matching questions may be used once, multiple times, or not at all.

A) On the way to Hamburger Queen, you have gotten horribly lost. But don't worry, a series of signs have been erected to help you reach that sweet burger-y goodness. Strangely, instead of giving you directions straight to Hamburger Queen, each sign only tells you how to reach the next sign, but eventually, by following the signs, you will reach Hamburger Queen. What structure best represents these signs?

 ArrayList            Singly Linked List        SLL-backed Stack          Binary Heap

B) Many car salespeople are only paid based on how many vehicles they can sell. At the end of each month, the salesperson with the highest number of sales is rewarded with an extra bonus. What structure is best suited to identify the salesperson who made the most sales in constant time (assuming all the sales data has already been added to the structure)?

 Binary Tree            Priority Queue        Deque         Array-backed Stack

C) A developer is working on a creative file explorer that visualizes files as papers on a desk. Instead of organizing files into folders like a regular file explorer, users put their papers into piles. In these piles, users can only access the most recently added file (the one represented by the paper at the top of the pile). For example, if they want to see a paper deeper in the pile, they must first remove all the   ones on top of it. What structure is best suited to represent a paper pile?

 Stack            Queue        Heap         ArrayList

D) Biologists are creating a program to model the lifecycle of a single celled organism. To reproduce, the organism simply splits in half to create two new organisms. Then, each of these organisms either reproduces (produces two more children) or dies before reproduction (produces no more children).     What structure is best suited to represent the hierarchy of organism generations?

 Binary Tree            Deque       Singly Linked List with tail         Queue

E) Tomorrow is your town's beloved Rubber Duck Festival, and to contribute to the festivities, you have decided to curate a playlist of your favorite duck songs to share with the festival-goers. Since some of the townsfolk don't share your taste in duck music, you have provided the option to skip to the next song in the playlist. Once the end of the playlist has been reached, the first song will automatically begin playing again. What structure best represents the playlist?

 Array          SLL-backed Queue        Circular Linked List          ArrayList

3) Trees - Multiple Select [3 points]

Given the following tree, select all properties that apply to the tree. If you believe none of the properties apply, select ONLY that answer.

4) Binary Search Trees - Diagramming [12 points]

Given the following initial BSTs in the left column below. Perform. the stated operation, add or remove, for each tree. Draw the resulting BST in the right column. If you want, you can draw multiple steps (circle the final step if you do so). If necessary for any operation, use the successor node.

5) Binary Search Trees - Diagramming [12 points]

Given the following initial BSTs in the left column below. Perform. the stated operation, add or remove, for each tree. Draw the resulting BST in the right column. If you want, you can draw multiple steps (circle the final step if you do so). If necessary for any operation, use the successor node.

6) MinHeap - Diagramming [10 points]

Given the MinHeap below backed by an array of length 13, perform. the listed operation and enter the  updated values of the backing array at the correct indices. Follow the implementation taught in class.

Requirements: Rewrite the array each time a swap is necessary on a new row and write and circle the swapped elements only on the line directly

add(1);

0

1

2

3

4

5

6

7

8

9

10

11

12

 

3

5

4

7

20

12

19

17

15

24

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


7) Binary Tree Traversals - Diagramming [8 points]

Given the following Binary Search Tree, perform. a pre-order traversaland enter the resulting list in the box below as a comma separated list of values.

Return List:





8) Array-Backed Stacks- Coding [10 points]

Goal: Given the following ArrayStack class, which is an array-backed Stack, implement the pop() method. As per the javadocs, you should not attempt to resize the array at any point. You may    assume all data is not null.

Requirements: Since Node is an inner class, you should access its fields directly (e.g. node.data)    instead of using getters/setters. Your code should be as efficient as possible. You may not assume any other method in the CircularSinglyLinkedList class is implemented. You may assume that

everything from java.util is imported.

public class ArrayStack<T> {

private T[] backingArray;

private int size;

 

 

/**

* Removes and returns the element on top of the stack

*

* Do not grow or shrink the backing array.

*

* Replace any spots that you remove from with null.

*

* @return the data formerly located at the top of the stack

* @throws java.lang.NoSuchElmentExcpetion if the stack is empty

*/

public T pop(T data) {

// YOUR CODE HERE, USE THE NEXT PAGE IF NEEDED

 

 

 




} // END OF METHOD

} // END OF CLASS

9) Circular Singly-Linked List - Coding [10 points]

Given the following Circularly Singly-Linked List class (CSLL), implement the addToFront() method. Reference the Javadocs for specific requirements.

Requirements: Feel free to write any helper methods you consider to be necessary, but you may NOT call any CSLL methods you do not write out in full. You may NOT create additional instance variables for the CSLL class. Since CSLLNode is a private inner class, you should access its fields directly (e.g. node.data) instead of using getters/setters. Notice that neither CSLL nor CSLLNode are generic; you  should reflect this in the declaration and instantiation of nodes by not including generic types. Your code should be as efficient as possible.  You may assume all data is not null, including data that is passed into the method..

public class CSLL {

private class Node {

public int data;

public Node next;

public Node(int data, Node next) { ... }

public Node(int data) { this(data, null); }

}

private Node head;

int size;

/**

* Adds the data to the front of the list.

*

* @param data the data to add to the front of the list

*/

public void addToFront(int data) {

// YOUR CODE HERE, USE THE NEXT PAGE IF NEEDED

 

 

 

} // END OF METHOD

} // END OF CLASS

 

 


热门主题

课程名

socs0030 data7201 data2x01 mn-3507 mat246h1 ib2d90 ib3j80 acc207 comp90007 compx518-24a fit1050 info1111 acct2201 buad801 compsci369 cse 332s info1110 math1033 scie1000 eeee2057 math4063 cmt219 econ5074 fit3094 finm081 econ2005 cpt202 ec333 econ0001 eng5009 csse2310/csse7231 cpt204 elec4630 dts104tc ma117 comp2017 640481 csit128 eco000109m finc5090 ggr202h5f nbs8295 4ssmn902 chc6171 dsa1002 ebu6304 csci-ua.202 ma416 mec206 comp1021 iom209 com6511 cpt206 bism7202 cpt106 ecom209 comp1212 idepg001 math1062 mn-3526 fnce3000 fmhu5002 psyc10003 fina2222 be631-6-sp/1 finc2011 37989 5aaob204 citx1401 econ0028 bsan3204 comp9123 cmt218 itp122 qbus6820 ecmt1020 ecmt2150 bus0117 soft3202/comp9202 basc0057 mecm30013 aem4060 acb1120 comp2123 econ2151 ecmt6006 inmr77 com 5140 ocmp5328 comp1039 had7002h cmt309 asb-3715 elec373 cpt204-2324 be631-6-sp mast10007 econ3016 comp30023 buss6002 comp4403 finm1416 csc-30002 6qqmn971 fin668 mnfg309 inft2031 cits1402 comp2011 eecs 3221 ebu4201 ct60a9600 com336 8pro102 comp8410 comp3425 econ7300 comp222 finm8007 comp2006 comp26020 eeen3007j cis432 comp1721 csci251 comp5125m com398sust finm7405 econ7021 fin600 infs4205/7205 mktg2510- 32022 mth6158 comp328 finn41615 2024 mec302 mgmt3004 mgt7158 com160 as.640.440 f27sb rv32i eecs 113 comp1117b cs 412 comp 315 ecs 116 fit5046 comp30024 acs341 econ1020 isys3014 acc408 comp1047 csc 256 cs 6347 comp5349 ecx2953/ecx5953 bios706 msin0041 econ339 finm7008 comp34212 csmde21 estr2520 comp285/comp220 mds5130/iba6205 finc6010 is3s665 busi2194 125.785 comp3310 mth6150 comp30027 busi2211 bff2401 fnce90046 visu2001 mang6554 finc6001 125785 data423-24s1 engi 1331 fint2100 comp20005 eec286 (520|600).666 cs 61b can202 mast20029 info20003 stat512 econ3208 cmpsc311 engg1340 ecmt1010 fit5216 basc0003
联系我们
EMail: 99515681@qq.com
QQ: 99515681
留学生作业帮-留学生的知心伴侣!
工作时间:08:00-21:00
python代写
微信客服:codinghelp
站长地图