工程实践 第一部分 题目一 求两个集合的合并运算 题目二 求两个有序表合并算法
时间: 2023-09-15 18:17:17 浏览: 61
题目一:求两个集合的合并运算
算法描述:
1. 新建一个空集合result。
2. 遍历集合A中的每个元素,将其加入result中。
3. 遍历集合B中的每个元素,如果该元素不在result中,则将其加入result中。
4. 返回结果集result。
实现代码:
def set_union(A, B):
result = set(A)
for b in B:
if b not in result:
result.add(b)
return result
样例输入:
A = {1, 2, 3}
B = {2, 3, 4}
样例输出:
{1, 2, 3, 4}
题目二:求两个有序表合并算法
算法描述:
1. 新建一个空列表result。
2. 依次比较两个有序表中的元素,将较小的元素加入result中。
3. 将剩余的元素加入result中。
4. 返回结果列表result。
实现代码:
def merge_sorted_lists(A, B):
result = []
i, j = 0, 0
while i < len(A) and j < len(B):
if A[i] <= B[j]:
result.append(A[i])
i += 1
else:
result.append(B[j])
j += 1
result += A[i:]
result += B[j:]
return result
样例输入:
A = [1, 3, 5, 7, 9]
B = [2, 4, 6, 8]
样例输出:
[1, 2, 3, 4, 5, 6, 7, 8, 9]
阅读全文