第二章:数据结构和算法
📖 本章内容
本章将学习 Python 中的数据结构和基础算法,包括:
- 列表和元组 (
01_lists_tuples.py) - 字典和集合 (
02_dicts_sets.py) - 字符串高级操作 (
03_strings_advanced.py) - 排序和搜索算法 (
04_sorting_searching.py) - 栈和队列 (
05_stack_queue.py) - 递归和动态规划 (
06_recursion_dp.py)
🗂 章节概览
- 列表和元组:创建与操作、推导式、内存与性能、实际应用
- 字典和集合:常用方法、推导式、集合运算、去重与成员测试
- 字符串高级操作:切片与方法、join/split、格式化、正则与编码
- 排序和搜索算法:内置排序、插入/选择/冒泡/归并/快速、线性/二分搜索、复杂度
- 栈和队列:栈/队列/双端队列、优先队列、括号匹配、BFS 遍历
- 递归和动态规划:记忆化与自底向上 DP、爬楼梯、零钱兑换、网格路径
🎯 学习目标
完成本章后,您将能够:
- ✅ 熟练使用 Python 内置数据结构
- ✅ 理解不同数据结构的特点和适用场景
- ✅ 实现基础的排序和搜索算法
- ✅ 掌握栈和队列的应用
- ✅ 理解递归思想和动态规划
- ✅ 分析算法的时间和空间复杂度
📚 学习顺序
建议按以下顺序学习:
- 先掌握基础数据结构的使用方法
- 理解每种数据结构的性能特点
- 学习经典算法的实现
- 通过实际问题加深理解
🚀 运行示例
# 运行单个示例
python 01_lists_tuples.py
# 运行所有示例
python run_all.py
说明:运行所有示例时会有交互提示(是否运行、按回车继续下一课)。
💡 学习建议
- 理解数据结构的内部实现原理
- 关注算法的时间和空间复杂度
- 多做练习,加深对算法的理解
- 学会选择合适的数据结构解决问题
🔍 复杂度分析
| 操作 | 列表 | 字典 | 集合 | 元组 |
|---|---|---|---|---|
| 访问 | O(1) | O(1) | - | O(1) |
| 搜索 | O(n) | O(1) | O(1) | O(n) |
| 插入 | O(n) | O(1) | O(1) | - |
| 删除 | O(n) | O(1) | O(1) | - |
准备好深入学习数据结构了吗? 🚀
