集合是唯一元素的无序集合。其核心能力是以平均 O(1) 回答「X 在这里吗?」,并自动拒绝重复项。
示例
python
seen = set()
seen.add('a')
seen.add('a') # ignored — already present
print(len(seen)) # 1
'a' in seen # O(1) average membership test
# Set algebra
a = {1, 2, }
b = {, , }
a & b
a | b
a - b
大多数集合实现为 hash sets(仅存储键的哈希表),因此:
| Operation | Average |
|---|---|
| add | O(1) |
| remove | O(1) |
| membership () |
常见用途
- 去重 — 一行代码从列表中移除重复项。
- 快速成员检查 — "我之前见过这个吗?"
- 关系 — 组之间的交集/并集/差集。
为什么这很重要
集合使「唯一性」和「成员检查」变得平凡且高效,取代了在列表上执行缓慢嵌套循环的做法。
常见的面试技巧——检测重复项或已访问节点——可以简化为几个集合操作。
