Question: Define computational complexity and describe its importance in evaluating/comparing algorithms Explain the difference between empirical runtime analysis and computational complexity How to determine the Big-O

  1. Define computational complexity and describe its importance in evaluating/comparing algorithms

  1. Explain the difference between empirical runtime analysis and computational complexity

  1. How to determine the Big-O notation from the from T(n), the number of operations which is a function of n(the data size)?

Derive T(n) for the following iterative functions and determine Big-O

a.

def check(n):

if n%2==0:

return False

i = 3

ul = math.sqrt(n)

while i

if n % i == 0:

return False

i += 2

return True

b.

def f1(array):

for i in range(len(array)):

item = array[i]

destination = i

while destination > 0 and array[destination - 1] >

item: array[destination] = array[destination - 1] destination -= 1

array[destination] = item

Derive T(n) for the following recursive functions and determine Big-O

a.

def check4(n):

if n % 4 > 1:

return n

return check4(n/4)

b.

def quickSort(arr, start, end):

if start

pivot_index = partition(arr, start, end)

quickSort(arr, start, pivot_index - 1)

quickSort(arr, pivot_index + 1, end)

 Define computational complexity and describe its importance in evaluating/comparing algorithms Explain

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!