一、为什么需要选型框架
面试和工程中最常见的错误不是"不会写代码",而是选错数据结构——用数组做频繁查找,用链表做随机访问,用哈希表做范围查询。
本文提供一个三步决策框架:
1. 列出核心操作(查/插/删/遍历/排序)
2. 确定操作频率和复杂度要求
3. 对照选型表匹配结构
二、核心结构操作复杂度总表
| 结构 | 按下标访问 | 按值查找 | 插入 | 删除 | 有序遍历 | 空间 |
|---|---|---|---|---|---|---|
| 数组 | O(1) | O(n) | O(n) 尾部O(1) | O(n) 尾部O(1) | 需排序 | 紧凑 |
| 链表 | O(n) | O(n) | O(1)* | O(1)* | 需排序 | 指针开销 |
| 哈希表 |