## bigoh4

Language/Type: C++ algorithm analysis big-oh
Author: Marty Stepp (on 2016/06/16)

Give a tight bound of the nearest runtime complexity class for each of the following code fragments in Big-Oh notation, in terms of the variable N. In other words, write the code's growth rate as N grows. Write a simple expression that gives only a power of N using a caret `^` character for exponentiation, such as `O(N^2)` to represent O(N2) or `O(log N)` to represent O(log2 N). Do not write an exact calculation of the runtime such as O(2N3 + 4N + 14).

 ```// a) int sum = 0; for (int i = 0; i < N; i++) { sum++; } for (int i = 100*N; i >= 0; i--) { sum++; } cout << sum << endl;``` answer: ```// b) int sum = 0; for (int i = 1; i < N - 2; i++) { for (int j = 0; j < N * 3; j += 2) { for (int k = 0; k < 1000; k++) { sum++; } } } cout << sum << endl;``` answer: ```// c) Vector v; for (int i = 0; i < N; i++) { v.add(i); } while (!v.isEmpty()) { v.remove(0); } cout << "done!" << endl;``` answer: ```// d) Set set; for (int i = 0; i < N/2; i++) { set.add(i); } Stack stack; for (int i = 0; i < N/2; i++) { set.remove(i); stack.push(i); } cout << "done!" << endl;``` answer: ```// e) Queue queue; for (int i = 1; i <= N; i++) { queue.enqueue(i * i); } HashMap map; while (!queue.isEmpty()) { int k = queue.dequeue(); map.put(k, N * N); } cout << "done!" << endl;``` answer:

You must log in before you can solve this problem.

Need help?

If you do not understand how to solve a problem or why your solution doesn't work, please contact your TA or instructor.
If something seems wrong with the site (errors, slow performance, incorrect problems/tests, etc.), please

Is there a problem? Contact a site administrator.