Compare commits

...

2 Commits

Author SHA1 Message Date
7fbfc8fd03 added code to ensure 42 in list 2026-03-03 23:14:27 -05:00
a866f5ea66 changed variable names 2026-03-03 23:03:56 -05:00

View File

@@ -21,8 +21,9 @@ class Search:
for _ in range(n):
array.append(random.randint(0, 1000))
# if 42 not in data:
# data[random.randint(0, n - 1)] = 42
#I added this for testing purposes, to make sure 42 was in the list
if 42 not in array:
array[random.randint(0, n - 1)] = 42
return array
@@ -34,7 +35,7 @@ class Search:
for value in arr:
if value == target:
print("Unsuccessful checks:", checks)
return checks
checks += 1
print("Not found.")
@@ -98,23 +99,23 @@ def main():
n = 1000
arr = search.generate_random_list(n) #generate the list of n random integers
for multiplier in [0.5, 1, 2, 4]:
for multiplier in [0.5, 1, 2, 4]: #I used a "multiplier" to avoid rewriting the code for each query
query_count = int(n * multiplier)
queries = []
for _ in range(query_count):
queries.append(random.choice(base_array))
queries.append(random.choice(arr))
# Linear timing
start = time.perf_counter()
for q in queries:
search.linear_search_count(base_array, q)
search.linear_search_count(arr, q)
end = time.perf_counter()
linear_time = end - start
# Sorting + Binary timing
start = time.perf_counter()
sorted_arr = sorted(base_array)
sorted_arr = sorted(arr)
for q in queries:
search.binary_search_recursive(sorted_arr, q, 0, len(sorted_arr) - 1)
end = time.perf_counter()