Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Consider the following two algorithms. void algorithm1 (int [] a, int m) { Random rand = new Random(); for (int i = 1; i

  1. Consider the following two algorithms.

void algorithm1 (int [] a, int m) {

Random rand = new Random();

for (int i = 1; i <= m; i++){

int v = rand.nextInt();

sequentialSearch(a, v); //sequential search of value v in a[]

}

}

void algorithm2(int a[], int m){

quickSort(a, 0, a.length-1); //quick sort of array a[]

for (int i = 1; i <= m; i++){

int v = rand.nextInt();

binarySearch(a, v); // binary search of value v in array a[]

}

}

What is the worst case complexity (in big O notation) of each of algorithm1 and algorithm2 in terms of n and m, where n = a.length and m is the given parameter? Assume rand.nextInt() is O(1). Justify the complexity.

Answer:

Algorithm

Complexity

(in big O notation)

Why?

algorithm1

algorithm2

Which algorithm is faster and why?

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database Design Query Formulation And Administration Using Oracle And PostgreSQL

Authors: Michael Mannino

8th Edition

1948426951, 978-1948426954

More Books

Students also viewed these Databases questions

Question

When would you use one approach, and when would you use another?

Answered: 1 week ago