返回课程
AI028 本科

Python数据结构与算法分析 (第2版)

本书是使用Python阐述数据结构与算法的经典教材。涵盖了Python基础复习、算法分析(大O记法)、基本数据结构(栈、队列、列表)、递归、搜索与排序、树及图算法。通过实战代码清单,帮助读者理解如何通过Python高效地实现各种抽象数据类型。

4.7
24.0h
1028 名学生
8 课时
1 点赞
人工智能
开始学习

课程概述

Content Summary

本书是使用 Python 阐述数据结构与算法的经典教材。涵盖了 Python 基础复习、算法分析(大 O 记法)、基本数据结构(栈、队列、列表)、递归、搜索与排序、树及图算法。通过实战代码清单,帮助读者理解如何通过 Python 高效地实现各种抽象数据类型。

只有洞彻数据结构与算法,才能真正精通 Python。

Author: 布拉德利·米勒 (美国路德学院计算机科学名誉教授) 、戴维·拉努姆 (IBM Watson认知软件工程师)

Acknowledgments: 感谢同事 Steve Hubbard 为第1版提供的大量反馈以及为新版提供的新素材,同时感谢各地同行发邮件指出错误并提供意见 。感谢迪科拉市 Java John's 咖啡馆的 Mary、Bob 等服务员,允许我们在休假期间成为店里的“常驻作者” 。此外,感谢 Franklin, Beedle & Associates 出版公司的各位员工(特别是 Jim Leisy 和 Tom Sumner)的愉快合作 。最后,特别感谢我们两人的妻子 Jane Miller 和 Brenda Ranum,她们的爱与支持使得本书终成现实 。

Learning Objectives

  1. 理解计算机科学、算法与编程的关系,并掌握抽象数据类型 (ADT) 和信息隐藏的概念。
  2. 熟练运用 Python 的内建集合数据类型(列表、元组、集、字典)及控制结构(循环、分支、异常处理)。
  3. 掌握 Python 面向对象编程的核心:包括类的定义、构造方法、运算符重载(如分数加法)、欧几里得算法应用,以及深浅相等的区别。
  4. 算法多方案对比:能够解释异序词检测的四种方案(清点、排序、暴力、计数)及其对应的时间复杂度。
  5. Python 容器性能量化:掌握 Python 列表 (List) 与字典 (Dict) 核心操作的大 O 效率,并能区分 pop() 与 pop(i) 的性能差异。
  6. 性能验证能力:能够利用 timeit 模块 design 实验,验证理论复杂度与实际运行时间的一致性。
  7. 理解并能区分线性数据结构(栈、队列、双端队列、列表)的逻辑特征。
  8. 能够使用 Python 的基础集合(如列表)实现自定义的栈、队列和双端队列。
  9. 掌握栈在表达式处理(中序转后序、后序求值)和队列在系统模拟(打印机模拟)中的应用。
  10. 掌握递归核心三原则:能够准确识别并编写包含基本情况、状态演变和自调用的递归函数。

课程

Lesson