设计一个算法求两个集合的并集
时间: 2023-05-27 18:06:31 浏览: 66
算法如下:
1. 定义一个空集合result
2. 将第一个集合中的所有元素添加到result中
3. 遍历第二个集合中的所有元素,如果该元素不在result中,则将其添加到result中
4. 返回result作为两个集合的并集
示例代码:
```
def union(set1, set2):
result = set1.copy()
for elem in set2:
if elem not in result:
result.add(elem)
return result
```
测试代码:
```
set1 = {1, 2, 3}
set2 = {3, 4, 5}
print(union(set1, set2)) # 输出 {1, 2, 3, 4, 5}
```
相关问题
设计一个算法求A和B两个集合的并集
可以使用哈希表来解决这个问题。首先将A中的所有元素添加到哈希表中,然后遍历B中的所有元素,检查它们是否已经存在于哈希表中。如果元素不存在,将其添加到哈希表中。最后,哈希表中包含的所有元素即为A和B的并集。
设计一个高效的并集算法,保留两个集合中都存在的元素
可以使用哈希表来实现高效的并集算法。首先将第一个集合中的所有元素都加入哈希表中,然后遍历第二个集合,对于每个元素,如果它在哈希表中存在,则说明它同时存在于两个集合中,将其加入结果集合中。这样可以在 O(n) 的时间复杂度内完成并集操作,其中 n 是两个集合中元素的总数。以下是示例代码:
```
def intersection(set1, set2):
result = set()
hash_table = {}
for elem in set1:
hash_table[elem] = True
for elem in set2:
if elem in hash_table:
result.add(elem)
return result
```
对于输入集合 set1 和 set2,该函数返回它们的交集。