1. How much memory will the following structures take up? Hint: int takes 4 bytes, float takes 4 bytes, char takes 1 byte. – 9 points

a. struct Structure1 {int a,b,c,d,e[10]; float f;};

b. struct Structure2 {int a[12]; float b[5];};

c. struct Structure3 {char a[10][12][4], b[5][5], c[10];};

2. Show the steps when sorting (smallest to largest) the following arrays of numbers using **selection sort** i.e. every time a swap occurs, show what the current state of the array looks like, including the final sorted array. – 12 points

a. [10, 2, 5, 8, 9, 1, 4, 7]

b. [7, 1, 3, 2, 5, 4, 8, 12, 9]

c. [8, 7, 6, 5, 4, 3, 2, 1]

d. [5, 3, 8, 1, 9, 4, 2, 6]

3. Big-O: What is meant by f(n) = O(g(n))? Give the definition and then explain what it means in your own terms. – 5 points

4. Big-Omega: What is meant by f(n) = Ω(g(n))? Give the definition and then explain what it means in your own terms. – 5 points

5. Show that , make sure you use the definition and justify the inequalities and constants used. – 4 points

6. Show that , make sure you use the definition and justify the inequalities and constants used. – 4 points

7. Show that , make sure you use the definition and justify the inequalities and constants used. – 4 points

8. Show that , make sure you use the definition and justify the inequalities and constants used. – 4 points

9. Show that , make sure you use the definition and justify the inequalities and constants used. – 4 points

10. What principle governs how you add/remove elements in a stack? Spell it out and briefly explain. – 4 points

11. Briefly describe an application of a stack. – 4 points

12. What principle governs how you add/remove elements in a queue? Spell it out and briefly explain. – 4 points

13. Briefly describe an application of a queue. – 4 points

Consider the following graph (pseudocode for BFS and DFS given on page 9):

14. Write the order in which the nodes would be visited in when doing a **breadth first search (BFS)** traversal starting at **node 4**. Also, write the distances from 4 to every other node. – 6 points

15. Write the order in which the nodes would be visited in when doing a **breadth first search (BFS)** traversal starting at **node 5**. Also, write the distances from 5 to every other node. – 6 points

Same graph (for your convenience):

16. Write the order in which the nodes would be visited in when doing a **depth first search (DFS)** traversal starting at **node 4 (order discovered or order off the stack)**. – 6 points

17. Write the order in which the nodes would be visited in when doing a **depth first search (DFS)** traversal starting at **node 5 (order discovered or order off the stack)**. – 6 points

18. Give the definition of a graph. – 5 points

19. Give the definition of a tree (from graph theory). – 4 points

**BFS Pseudocode (for graph with n vertices):**

Input: grapharray[n][n], source

queue<int> Q

int distance[n] (array to keep track of nodes distances (from source), all values set to -1 except source which is set to 0 i.e. -1 = not visited)

Q.push(source)

while(Q is not empty)

v = Q.front

Q.pop()

for each neighbor w of v

if distance[w] = -1

print w

distance[w] = distance[v]+1

Q.push(w)

end if

end for

end while

**DFS Pseudocode (for graph with n vertices):**

Input: grapharray[n][n], source

stack<int> S

int visited[n] (array to keep track of nodes visited, all values set to 0 except source which is set to 1 i.e. 0 = not visited, 1 = visited)

S.push(source)

while(S is not empty)

v = S.top

S.pop()

for each neighbor w of v

if visited[w] = 0

print w

visited[w] = 1

S.push(w)

end if

end for

end while

Bonus (4 points): Show *all *of the steps (splitting and merging) when using mergesort to sort (smallest to largest) the following array (they are the numbers 1 through 16):

[16, 1, 15, 2, 14, 3, 13, 4, 12, 5, 11, 6, 10, 7, 9, 8]

Bonus (2 points): describe how you could implement a queue using 2 stacks.

Bonus (4 points) Draw the binary search tree that would be constructed by inserting the following values in the exact order given (starting with an empty tree i.e. first value will be the first node in the tree): –

a. Binary Search Tree A: 8, 9, 2, 7, 1, 10, 3, 5, 6, 4

b. Binary Search Tree B: 10, 7, 9, 12, 4, 2, 5, 3, 1, 14, 11, 19, 13, 18, 20

Why Homework Market

We always make sure that writers follow all your instructions precisely. You can choose your academic level: high school, college/university or professional, and we will assign a writer who has a respective degree.

We have hired a team of professional writers experienced in academic and business writing. Most of them are native speakers and PhD holders able to take care of any assignment you need help with.

If you think we missed something, send your order for a free revision. You have 10 days to submit the order for review after you have received the final document. You can do this yourself after logging into your personal account.

All papers are always delivered on time. In case we need more time to master your paper, we may contact you regarding the deadline extension. We will always strive to deliver on time.

We use several writing tools checks to ensure that all documents you receive are free from plagiarism. Our editors carefully review all quotations in the text.

Our support agents are available 24 hours a day 7 days a week and committed to providing you with the best customer experience. Get in touch whenever you need any assistance.

Try it now!

How it works?

Follow these simple steps to get your paper done

Place your order

Fill in the order form and provide all details of your assignment.

Proceed with the payment

Choose the payment system that suits you most.

Receive the final file

Once your paper is ready, we will email it to you.

Homework Market Writing Services

No need to work on essay at night. Sleep tight, we will cover your back. We offer all kinds of essay writing services.

Essays

No matter what kind of academic paper you need and how urgent you need it, you are welcome to choose your academic level and the type of your paper at an affordable price. We take care of all your paper needs and give a 24/7 customer care support system.

Admissions

An admission essay is an essay or other written statement by a candidate, often a potential student enrolling in a college, university, or graduate school. You can be rest assurred that through our service we will write the best admission essay for you.

Editing

Our academic writers and editors make the necessary changes to your paper so that it is polished. We also format your document by correctly quoting the sources and creating reference lists in the formats APA, Harvard, MLA, Chicago / Turabian.

Research Paper

If you think your paper could be improved, you can request a review. In this case, your paper will be checked by the writer or assigned to an editor. You can use this option as many times as you see fit. This is free because we want you to be completely satisfied.