假设有一个列表存储了多个数字,我们想按照不同的搜索算法对这些数字进行分组,并且将每个算法对应的数字列表输出出来。
代码示例:
# 将所有数字存储在列表中
lst = [5, 2, 8, 1, 6, 9, 3, 7, 4]
# 定义三个搜索算法对应的函数
def linear_search(data):
result = []
for i in range(len(data)):
if data[i] % 2 == 0:
result.append(data[i])
return result
def binary_search(data):
result = []
for i in range(len(data)):
if data[i] > 5:
result.append(data[i])
return result
def interpolation_search(data):
result = []
for i in range(len(data)):
if data[i] < 3:
result.append(data[i])
return result
# 将算法名和对应的函数放入字典中
search_algorithms = {'线性搜索': linear_search, '二分搜索': binary_search, '插值搜索': interpolation_search}
# 对每个算法对应的数字列表进行分组并输出
for name, func in search_algorithms.items():
res = func(lst)
print(f'{name}的结果为: {res}')
输出结果:
线性搜索的结果为: [2, 8, 6, 4]
二分搜索的结果为: [8, 6, 9, 7]
插值搜索的结果为: [2, 1]
在以上示例中,我们定义了三种搜索算法的函数,并将它们放入一个字典中。接着,我们遍历这个字典,对每个算法应用对应的函数,并输出结果。最终,在控制台中将每个算法对应的数字列表输出出来。以此完成按照不同搜索算法对数据的分组。