Create an array of size one million (1,000,019). Fill it in reverse sequentially with values (e.g. array[0] should equal 1,000,018, array[1] should equal 1,000,017, etc). Then the computer should select a random target number between 0 and array size – 1. You should then search the array for this value twice – once with a linear search algorithm, and then with a binary search algorithm. Start searching from the end of the array, rather than the beginning.
Keep track of how long each one took, using the following criteria:
- Linear Search: Number of loop iterations before the target number was found
- Binary Search: Number of midpoints chosen (a.k.a “guesses”) taken before the target number was found Once both algorithms have been run, display the results and print which algorithm found the number first (or if there was a tie).
Once both algorithms have been run, display the results and print which algorithm found the number first (or if there was a tie).
In the rest of this assignment, you’re going to create your own methods and call them from main.

Step by stepSolved in 4 steps with 2 images

Hi, thanks for your detailed answer but I didn't specify that this exercise is in C++ and not in Python. Can you please answer it in C++ (sorry!!)
Hi, thanks for your detailed answer but I didn't specify that this exercise is in C++ and not in Python. Can you please answer it in C++ (sorry!!)
- In python, count the neighboring *'s of each individual element in this array: * * . . . . . . . . . * . . . then output an array where each element is replaced with the numbers of *'s above below and diagonal to them. The output should look like this: * * 1 0 0 3 3 2 0 0 1 * 1 0 0arrow_forwardCompute the distance between the positions of the first and last zero element in the given array. For example, if the array is 3 0 1 0 4 9 5 0 6 your algorithm should yield 7 - 1 = 6. If the array contains a single zero, return 0. If it doesn't contain any zeroes, return a negative value.arrow_forwardWrite a Java program that inputs size of array N and N numbers in the array. It should use Insertion sort to sort the array and then display it. Then, ask a number X to search in the array. It should use Binary search and then print the result of search. Searching and Sorting Algorithms Enter size of array ? 5 Enter 5 numbers : 5.5 8.2 2.4 9.1 3.3 Sorted array: 2.4, 3.3, 5.5, 8.2, 9.1 Enter a number to search ? 8.2 8.2 Found at index 3arrow_forward
- Write an c progra, that takes an array of N integers (N will be specified by the user at run time). It then finds how many numbers in the array are divisible by 3 and how many numbers are divisible by 7. the it copies, from the input array above, the numbers that are divisible by 3 into a new array and those divisible by 7 into a different new array. Once copied, the algorithm should compute the average of each of these two new arrays and print the averages on the screen with suitable message to let the user know which average is being printed Note: an integer number is divisible by 3 (respectively 7) if the remaining of its division by 3 (respectively 7) is 0. You are allowed to use the modulus operator %.arrow_forwardWrite a program to accept 10 positive and negative values in an integer array. Program would shift all negative values to the left side and all positive values to the right side of the array without sorting them. Use Java coding Language.arrow_forwardyou are given integers A = [a0, a1, a2, · · · an], where a are integers. We want to determine the largest sum of a portion of consecutive values in the array. array A = [3, 13, −20, 9, −3, 30, 9, −70], largest sum of a portion of consecutive values is 9-3+30+9 = 45. a) you must write an iterative algorithm that can determine the largest sum of a portion of consecutive values / show the time complexity b)Write a dynamic programming-based algorithm that determines the largest sum of a portion of consecutive values/show its time complexityarrow_forward