List与Set的对比
| 对比 | List | Set |
|---|---|---|
| 存储 | 有序 | 无序 |
| 访问 | 通过索引访问 | 通过值访问 |
| 查重 | 允许重复 | 不允许重复 |
| 性能 | 查找、插入、删除时间复杂度为O(n) | 查找、插入、删除时间复杂度为O(1) |
| 底层实现 | 动态数组 | 哈希表 |
| 适用场景 | 索引取值、切片 list[0] | 元素去重、存在性检查 if x in set |
在大数据量处理时,选择合适的数据结构至关重要。 在 100万数据量级别下,Set的性能优势尤为明显,速度差距可达数万倍(数据来自这里 ↗)。
在 LeetCode3217 ↗ 题中,使用Set来存储需要删除的节点值,可以显著提升性能。