掌握计算机科学的基石,提升编程思维,从容应对技术面试与实际工程挑战
课程简介
算法与数据结构是计算机科学的核心基础,是衡量程序员硬实力的重要标准。无论是 Google、字节跳动还是各大科技公司的技术面试,算法题几乎是必考项目。更重要的是,这些知识会直接影响你日常编写代码的质量与效率。
本教程以"理解原理"为核心,每个数据结构和算法都从"是什么 → 为什么 → 怎么用"三个维度讲解,配合大量图示和代码示例,帮助你真正掌握而非死记硬背。代码示例使用 Python(简洁直观)和 TypeScript(类型安全)双语言演示。
你将学到什么
大 O 表示法,时间/空间复杂度推导,摊还分析
数组、链表、栈、队列的原理与应用场景
散列函数、冲突解决、哈希表的工程实现
二叉树、BST、堆、Trie,树的遍历与应用
BFS、DFS、最短路径、拓扑排序
8种排序算法详解,如何选择合适的排序
从递归到 DP,状态转移方程,经典 DP 题型
贪心策略的适用场景,回溯法与剪枝
复杂度速查表
| 数据结构 | 访问 | 搜索 | 插入 | 删除 |
|---|---|---|---|---|
| 数组 | O(1) | O(n) | O(n) | O(n) |
| 链表 | O(n) | O(n) | O(1) | O(1) |
| 哈希表 | — | O(1) | O(1) | O(1) |
| 二叉搜索树(平衡) | O(log n) | O(log n) | O(log n) | O(log n) |
| 堆 | O(1) 顶部 | O(n) | O(log n) | O(log n) |
课程目录