BY USING PYTHON
The file100000 in question 2 is shown in question 1.
QUESTION 2:
Perform a benchmark analysis of the following searching methods:
- Linear (Sequential) Search
- Binary Search
- Hashing
Read the file “file100000” into a list. Sort the file using the one of fast sorting algorithms. You can use orderedSequentialSearch, binarySearch, and HashTable code given in
https://runestone.academy/runestone/books/published/pythonds/SortSearch/toctree.html.
Fill the hash table with key values stored in the file100000. The data values mapping to the key values can be assigned to a string like “Data” + str(key). Make the hash table size 10% bigger.
For example you can set self.size = 110017 which is a prime number.
Generate a list of 1000 random numbers using random.randint(0,100000). By using the searching methods, make a search of these random numbers. Record their total execution times into a file named “searchStats.txt”. The “searchStats.txt” file should contain entries for execution times as follows:
Linear_Search n
Binary_Search n
Hashing n
where n is the total execution time for searching these 1000 numbers
QUESTION 1:
Extracted text: The objective of this question is to generate and read files that contain a list of random numbers. Write a function that generates a file with following parameters: def fillFile(fileSize, fileName): The function should be called to generate files in the following sizes: fileSizes = [1000, 5000, 10000, 25000, 50000, 100000, 200000] The generated files can have names file1000, file5000, file10000, file25000, file50000, file100000, file200000. Each file should have serial numbers from 0 to size of file. By using one tenth of file shuffle numbers among themselves. For example, if your file 100 numbers, choose 10 numbers randomly and shuffle these numbers. You can use random.randint(0,fileSize+1000) to generate a random number. Write another function that reads numbers inside of a file and returns a list. def readFile(fileName): The returned list contains the numbers stored in the file. At each call of fillFile and readFile, record the times before and after the function call as in following example (import time) : start = time.time() fillFile(fileSize, “file" + str(fileSize)) finish = time.time() runTime = finish – start Record the run times of functions into a file named “fileStats.txt". The "fileStats.txt" file should contain entries for run times as follows: fillFile nl, n2, п3, п4, п5, пб, п7 readFile nl, n2, п3, п4, п5, п6, п7 where n1, n2, n3, n4, n5, n6 and n7 are execution times for file sizes 1000, 5000, 10000, 25000, 50000, 100000, 200000.