原始问题:
"编写并测试顺序与折半查找算法的实验步骤"
一、实验目的
- 掌握顺序查找和折半查找的基本原理和实现方法。
- 学会使用Python实现查找算法。
二、实验内容
实现顺序查找与折半查找的程序设计。
三、实验步骤
- 建立查找表
def create_lookup_table(data):
lookup_table = {}
for item in data:
lookup_table[item] = item
return lookup_table- 输出查找表
def print_lookup_table(lookup_table):
for key, value in lookup_table.items():
print(f"{key} -> {value}")- 顺序查找算法
def sequential_search(lookup_table, target):
for key, value in lookup_table.items():
if key == target:
return key
return None- 折半查找算法
def binary_search(lookup_table, target):
low, high = 0, len(lookup_table) - 1
while low <= high:
mid = (low + high) // 2
if lookup_table[mid] == target:
return mid
elif lookup_table[mid] < target:
low = mid + 1
else:
high = mid - 1
return None- 主函数
def main():
data = [1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
lookup_table = create_lookup_table(data)
print("查找表:")
print_lookup_table(lookup_table)
target = 11
print(f"目标值 {target} 在查找表中的位置:", sequential_search(lookup_table, target))
print(f"目标值 {target} 在查找表中的位置(折半查找):", binary_search(lookup_table, target))
if __name__ == "__main__":
main()- 测试与运行
将以上代码保存为一个Python文件,例如search_algorithms.py,然后在命令行中运行python search_algorithms.py,查看输出结果。
Prev:农业统计数据分析的建议