COIS 2020H S61 For Brian Srivastava

COIS 2020H S61 For Brian SrivastavaYour assignment files should be zipped into single file named your username.zip, and submitted on blackboard.
Questions 1 and 3 are programming questions and you should have a source file as well as testing documentation.
Assignments are to be done individually.
1. a) Write a program (including timing measurements) for the following scenario. Generate 20 million random numbers, one at a time, and insert them into an array that doubles every time it runs out of space (starting size of 2), into an array that can hold 20 million elements from creation, and a linked list that can hold 20 million elements. You should do this both for integers and floating point numbers. (The numbers should be regular integers or floats). Compare the time required for each of the six scenarios, and explain the differences. You will need to write your own way to double an array size (its up to you how to do this), dont use an ArrayList.b) Do a brute force in order search through each of these to find the largest number. Again, compare the timings for all 6 scenarios.2. You do not need to implement this, just describe the algorithm.
a) Assume you have a robot with a light sensor and you want it to follow a trace (i.e. line) on the ground drawn with a thick marker. Design 2 different algorithms to follow this line and compare their efficiency. (The problem is a search one if the line bends you need to find it again). Describe/draw/illustrate some worst, or at least bad cases and best case scenarios for your algorithms.
b) Consider the same problem but in 3 dimensions, e.g. a radar array (which produces something like a cone) searching through a sphere around an aircraft looking for incoming missiles or other aircraft.3. Attached to this assignment is a file titled A1BoyNames.txt it is 536 lines long, but some lines have two names separated by a comma. Read in each name into a container structure of your choosing.
a. Using a binary search, and a hash function of some sort attempt to find the names Brian, Bryan, Iain, Ian, and Stefan.b. Modify your program to search for partial matches (e.g. Bryant would match Bryan and Brian would match Ian).This list was taken from http://www.world-english.org/boys_names_list.htm. You can manipulate the source data however you want to make it easier to read in.