while search_at len(valuesand search_res is falseif values[search_at=search_forsearch_res true elsesearch_at search_at return search_res [ print(linear_search( )print(linear_search( )outputwhen the above code is executedit produces the following result true false interpolation searchthis search algorithm works on the probing position of the required value for this algorithm to work properlythe data collection should be in sorted form and equally distributed initiallythe probe position is the position of the middle most item of the collection if match occursthen the index of the item is returned if the middle item is greater than the itemthen the probe position is again calculated in the sub-array to the right of the middle item otherwisethe item is searched in the subarray to the left of the middle item this process continues on the sub-array as well until the size of subarray reduces to zero example there is specific formula to calculate the middle position which is indicated in the program below def intpolsearch(values, )idx idxn (len(values while idx values[idx and <values[idxn]find the mid point mid idx +int(((float(idxn idx )/values[idxnvalues[idx ]) values[idx ]))compare the value at mid point with search value if values[mid=