第二章:数据结构和算法

📖 本章内容

本章将学习 Python 中的数据结构和基础算法,包括:

  1. 列表和元组 (01_lists_tuples.py)
  2. 字典和集合 (02_dicts_sets.py)
  3. 字符串高级操作 (03_strings_advanced.py)
  4. 排序和搜索算法 (04_sorting_searching.py)
  5. 栈和队列 (05_stack_queue.py)
  6. 递归和动态规划 (06_recursion_dp.py)

🗂 章节概览

  • 列表和元组:创建与操作、推导式、内存与性能、实际应用
  • 字典和集合:常用方法、推导式、集合运算、去重与成员测试
  • 字符串高级操作:切片与方法、join/split、格式化、正则与编码
  • 排序和搜索算法:内置排序、插入/选择/冒泡/归并/快速、线性/二分搜索、复杂度
  • 栈和队列:栈/队列/双端队列、优先队列、括号匹配、BFS 遍历
  • 递归和动态规划:记忆化与自底向上 DP、爬楼梯、零钱兑换、网格路径

🎯 学习目标

完成本章后,您将能够:

  • ✅ 熟练使用 Python 内置数据结构
  • ✅ 理解不同数据结构的特点和适用场景
  • ✅ 实现基础的排序和搜索算法
  • ✅ 掌握栈和队列的应用
  • ✅ 理解递归思想和动态规划
  • ✅ 分析算法的时间和空间复杂度

📚 学习顺序

建议按以下顺序学习:

  1. 先掌握基础数据结构的使用方法
  2. 理解每种数据结构的性能特点
  3. 学习经典算法的实现
  4. 通过实际问题加深理解

🚀 运行示例

# 运行单个示例
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)-

准备好深入学习数据结构了吗? 🚀

上次更新:
贡献者: Joe