Algorithms
Algorithms & Data Structures

算法与数据结构

掌握计算机科学的基石,提升编程思维,从容应对技术面试与实际工程挑战

时间复杂度 空间复杂度 链表 / 树 / 图 动态规划 LeetCode 实战

课程简介

算法与数据结构是计算机科学的核心基础,是衡量程序员硬实力的重要标准。无论是 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)

课程目录