写一串代码、实验基本要求 完成查找的算法实现(顺序查找、折半查找等操作),并完成测试与运行。 四、实验内容 实验内容:实现顺序查找与折半查找的程序设计。 实验步骤: 实验步骤: 1.建立查找表; (具
一、实验目的
1. 掌握顺序查找和折半查找的基本原理和实现方法。
2. 学会使用Python实现查找算法。
二、实验内容
实现顺序查找与折半查找的程序设计。
三、实验步骤
1. 建立查找表
```python
def create_lookup_table(data):
lookup_table = {}
for item in data:
lookup_table[item] = item
return lookup_table
```
2. 输出查找表
```python
def print_lookup_table(lookup_table):
for key, value in lookup_table.items():
print(f"{key} -> {value}")
```
3. 顺序查找算法
```python
def sequential_search(lookup_table, target):
for key, value in lookup_table.items():
if key == target:
return key
return None
```
4. 折半查找算法
```python
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
```
5. 主函数
```python
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()
```
6. 测试与运行
将以上代码保存为一个Python文件,例如`search_algorithms.py`,然后在命令行中运行`python search_algorithms.py`,查看输出结果。
1. 掌握顺序查找和折半查找的基本原理和实现方法。
2. 学会使用Python实现查找算法。
二、实验内容
实现顺序查找与折半查找的程序设计。
三、实验步骤
1. 建立查找表
```python
def create_lookup_table(data):
lookup_table = {}
for item in data:
lookup_table[item] = item
return lookup_table
```
2. 输出查找表
```python
def print_lookup_table(lookup_table):
for key, value in lookup_table.items():
print(f"{key} -> {value}")
```
3. 顺序查找算法
```python
def sequential_search(lookup_table, target):
for key, value in lookup_table.items():
if key == target:
return key
return None
```
4. 折半查找算法
```python
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
```
5. 主函数
```python
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()
```
6. 测试与运行
将以上代码保存为一个Python文件,例如`search_algorithms.py`,然后在命令行中运行`python search_algorithms.py`,查看输出结果。
上一篇:为什么国家安全与你我息息相关论文
下一篇:宋朝和金朝的税收对比