数据结构¶
数据结构与算法是编程、系统设计和 CTF 解题的基础。数据结构决定数据如何组织,算法决定如何在有限时间和空间内处理这些数据。
学习路线¶
常见复杂度¶
| 复杂度 | 直观含义 | 常见场景 |
|---|---|---|
O(1) |
常数时间 | 数组按下标访问、哈希表平均查找 |
O(log n) |
每次缩小搜索范围 | 二分查找、平衡树操作 |
O(n) |
扫描全部元素 | 线性查找、遍历数组 |
O(n log n) |
分治排序常见复杂度 | 归并排序、堆排序、快速排序平均情况 |
O(n^2) |
双重枚举 | 简单排序、暴力枚举 |
算法学习不只看最坏复杂度,还要关注输入规模、常数开销、内存访问模式和实现是否容易出错。