Question

1. public int add100(int[] array) { if (array.length < 100) { return 0; } int sum...

1. public int add100(int[] array) 
{
   if (array.length < 100)
  {
   return 0;
  }
   int sum = 0;
   for (int i = 0; i < 100; i++) {
   sum += array[i];
   }
   return sum;  
}    

2. int sum = 0; for (int i = 1; i <= n; i++) { for (int j = 0; j <= i; j++) { sum++; sum++; } } for (int i = 0; i < n; i += 2) { sum++; }

3. nt sum = 0; for (int i = 1; i <= n; i++) { sum += i; } for (int j = 1; j <= 10; j++) { sum++; } for (int i = 0; i < n; i += 2) { sum++; }

A.

O(n2)

B.

O(n3)

C.

O(n)

D.

O(1)

E.

O(n log n)

Homework Answers

Answer #1

Question 1:

public int add100(int[] array) 
{
   if (array.length < 100)
  {
   return 0;
  }
   int sum = 0;
   for (int i = 0; i < 100; i++) {
   sum += array[i];
   }
   return sum;  
}   

Analysis: Here, one for loop is there and inside the loop the loop is executing for i=0 to i<100. In other words, the loop is getting executed for finite number of times. Thus, the loop does not depend on variable 'n'. Thus, the time complexity of this code would be constant. Thus, O(1).

Question 2:

int sum = 0;

for (int i = 1; i <= n; i++)

{ for (int j = 0; j <= i; j++)

{ sum++; sum++; } }

for (int i = 0; i < n; i += 2)

{ sum++; }


Analysis: Here three for loops are there where two of them are consecutive. The first loop at line 2 execute for i=1 to i<=n and the consecutive loop execute for j=0 to j<=i. Thus basically the consecutive loop also execute till j<=n, since i will run upto i=n. Thus, two nested loops run for n times. The last for loop is independent.

So, the time complexity will be of order of n2. Thus, O(n2).

Question 3:

int sum = 0;

for (int i = 1; i <= n; i++)

{ sum += i; }

for (int j = 1; j <= 10; j++)

{ sum++; }

for (int i = 0; i < n; i += 2)

{ sum++; }


Answer: Here, all the loops are independent. No nested loop is here. All the loops are independent and only the first loop executes for i=0 to i<=n i.e. for n times. Also all other loops are independent. Thus, the time complexity of this code segment would be of order of 'n'. Thus, O(n).

CONCLUSION:

Question 1: O(1).

Question 2: O(n2).

Question 3: O(n).

Know the answer?
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for?
Ask your own homework help question
Similar Questions
int i,sum=0;   int array[8]={//You decide this};   int *a,*b,*c;   a = array;   b = &array[3];   c =...
int i,sum=0;   int array[8]={//You decide this};   int *a,*b,*c;   a = array;   b = &array[3];   c = &array[5];   c[-1] = 2;   array[1] = b[1]-1;   *(c+1) = (b[-1]=5) + 2;   sum += *(a+2) + *(b+2) + *(c+2);   printf("%d %d %d %d\n", sum, array[b-a], array[c-a], *a-*b); array[8]={ ?? }; what is array[8]?
import java.util.Scanner; public class FindMinLength { public static int minLength(String[] array) { int minLength = array[0].length();...
import java.util.Scanner; public class FindMinLength { public static int minLength(String[] array) { int minLength = array[0].length(); for (int i = 0; i < array.length; i++) { if (array[i].length() < minLength) minLength = array[i].length(); } return minLength; } public static void main(String[] args) { Scanner in = new Scanner(System.in); String[] strings = new String[50]; for (int i = 0; i < strings.length; i++) { System.out.print("Enter string " + (i + 1) + ": "); strings[i] = in.nextLine(); } System.out.println("Length of smallest...
Consider the following function: 01: void cpUniq (const int* source, int N, vector<int>& dest) 02: {...
Consider the following function: 01: void cpUniq (const int* source, int N, vector<int>& dest) 02: { 03: list<int> L; 04: for (int i = 0; i < N; ++i) 05: { 06: copy (source, source + i, front_inserter<int>(L)); 07: } 08: for (int j: L) 09: { 10: if (find(dest.begin(), dest.end(), j) != dest.end()) 11: dest.push_back(j); 12: } 13: } and the following list of complexity values: A: O(1), B: O(log N), C: O(N), D: O(N log N), E: O(N2),...
public int linearSearch2(ArrayList<Integer> pList, Integer pKey) { for (int i = 0; i <= pList.size() /...
public int linearSearch2(ArrayList<Integer> pList, Integer pKey) { for (int i = 0; i <= pList.size() / 2; ++i) { if (pList.get(i).equals(pKey)) { return i; } else if (pList.get(pList.size() - 1 - i).equals(pKey)) { return pList.size() - 1 - i; } } return -1; } ----- Q1)Which function f(n) counts how many times the key operation(s) is(are) performed as a function of the list size n when pKey is not in pList (the worst case behavior of linearSearch2() occurs when pKey...
What is the tilde time complexity for the following code fragments: 1) int sum = 0;...
What is the tilde time complexity for the following code fragments: 1) int sum = 0; for (i = n; i > 0; i /= 2) for (j = 0; j < i; j++) sum++; 2) int sum = 0; for (int i = 0; i < n; i++) for (int j = 0; j < i; j+=2) sum++;
Consider the following function: double arrayavg(int a[], int n){ int sum=0; for(int i=0; i!=n; ++i){ sum+=a[i];...
Consider the following function: double arrayavg(int a[], int n){ int sum=0; for(int i=0; i!=n; ++i){ sum+=a[i]; } return (double)sum/n; } Rewrite the function to eliminate the array subscripting (a[i]), using pointer arithmatic instead. Write a program that reads a line of input and checks if it is a palindrome (ignoring spaces) Write a program that takes the name of a file as a command line argument, and prints the contents of the file (similar to the linux 'cat' program). Write...
#include <stdio.h> extern unsigned long long sum(unsigned int *array, size_t n); int main(void) { unsigned int...
#include <stdio.h> extern unsigned long long sum(unsigned int *array, size_t n); int main(void) { unsigned int array[] = { 1, 1, 1, 3 }; unsigned long long r = sum(array, sizeof(array) / sizeof(*array)); printf("Result is: %llu (%s)\n", r, r == 6 ? "correct" : "incorrect"); return 0; } Complete the code for the line that calls the sum function. Write the sum function.
C Programming 1. Provide an equivalent of the java class in C class Example { public...
C Programming 1. Provide an equivalent of the java class in C class Example { public static int[][] question4(int n) { int[][] result = new int [n][n]; for(int i=1; i<=n; i+=1) for (int j=1; j<=n; j+=1) result[i][j] = (i*n)+j; return result; } public static void main(String[] args) { int[][] my array = question4(4); } } 2. Rewrite the following function using no loops, and only tail call recursion int min (int n, int[] input) { int i; int result; for...
Given an array of integers return the sum of the values stored in the first and...
Given an array of integers return the sum of the values stored in the first and last index of the array. The array will have at least 2 elements in it --------------------------------------- public class Class1 { public static int endSum(int[] values) {     //Enter code here } }
int main() { int i, j, sum = 0; for(i=0;i<3;i++) { for(j=0;j<4;j++) { if(j > 2)...
int main() { int i, j, sum = 0; for(i=0;i<3;i++) { for(j=0;j<4;j++) { if(j > 2) break; sum++; } } } What is value of sum, explain.