为你推荐
题名页
版权页
前言
第1章 数据结构与算法
1.1 程序
1.2 数据结构
1.2.1 数据结构的核心地位
1.2.2 数据结构的组成
1.3 算法
1.3.1 算法的5个属性
1.3.2 算法的3个层次
1.4 算法复杂度
1.4.1 空间复杂度
1.4.2 时间复杂度
1.4.3 提高算法效率的方法
1.5 算法表示方式
1.5.1 流程图
1.5.2 N-S图
1.5.3 伪语言
1.6 习题
第2章 Python开发环境
2.1 Python简介
2.1.1 Python的特点
2.1.2 Python的应用场合
2.2 Python解释器
2.2.1 Ubuntu下安装Python
2.2.2 Windows下安装Python
2.3 Python编辑器
2.3.1 IDLE
2.3.2 PyCharm
2.3.3 Anaconda
2.3.4 Jupyter Notebook
2.4 代码书写规则
2.4.1 缩进
2.4.2 逻辑行与物理行
2.4.3 注释
2.4.4 编码风格
2.5 习题
第3章 Python数据类型
3.1 变量
3.1.1 变量命名
3.1.2 变量引用
3.2 运算符
3.2.1 算术运算符
3.2.2 关系运算符
3.2.3 赋值运算符
3.2.4 逻辑运算符
3.2.5 位运算符
3.2.6 成员运算符
3.2.7 身份运算符
3.3 表达式
3.3.1 表达式的概念
3.3.2 运算符的优先级
3.4 数据类型
3.4.1 数据类型的概念
3.4.2 数据类型的分类
3.5 数值
3.5.1 数值的概念
3.5.2 数值的操作
3.6 列表
3.6.1 列表的概念
3.6.2 列表的操作
3.7 元组
3.7.1 元组的概念
3.7.2 元组的操作
3.8 字符串
3.8.1 字符串的概念
3.8.2 字符串的操作
3.9 字典
3.9.1 字典的概念
3.9.2 字典的操作
3.10 集合
3.10.1 集合的概念
3.10.2 集合的操作
3.10.3 集合运算
3.11 组合数据总结
3.11.1 相互关系
3.11.2 数据类型转换
3.12 实例
3.12.1 发扑克牌
3.12.2 统计相同单词出现的次数
3.12.3 计算两个日期间隔天数
第4章 Python三大结构
4.1 3种基本结构
4.2 顺序结构
4.2.1 输入、处理和输出
4.2.2 顺序程序设计举例
4.3 选择结构
4.3.1 单分支
4.3.2 双分支
4.3.3 多分支
4.3.4 分支嵌套
4.4 循环概述
4.4.1 循环结构
4.4.2 循环分类
4.5 while语句
4.5.1 基本形式
4.5.2 else语句
4.5.3 无限循环
4.6 for语句
4.6.1 应用序列类型
4.6.2 内置函数range()
4.7 循环嵌套
4.7.1 循环嵌套的概念
4.7.2 循环嵌套实现
4.8 辅助语句
4.8.1 break语句
4.8.2 continue语句
4.8.3 pass语句
4.9 迭代器
4.9.1 iter()方法
4.9.2 next()方法
4.10 实例
4.10.1 猴子吃桃问题
4.10.2 买地铁车票
4.10.3 打印金字塔
4.10.4 冰雹数列
4.10.5 输出特定三角形
4.11 习题
第5章 函数
5.1 函数声明与调用
5.1.1 函数声明
5.1.2 函数调用
5.1.3 函数返回值
5.2 参数传递
5.2.1 实参与形参
5.2.2 传对象引用
5.3 参数分类
5.3.1 必备参数
5.3.2 默认参数
5.3.3 关键参数
5.3.4 不定长参数
5.4 两类特殊函数
5.4.1 lambda函数
5.4.2 递归函数
5.5 变量作用域
5.5.1 局部变量
5.5.2 全局变量
5.6 实例
5.6.1 筛选法求素数
5.6.2 可逆素数
5.6.3 递归求xn
5.6.4 孪生素数
5.6.5 汉诺塔
5.6.6 完全数
5.6.7 逆置
5.6.8 气温上升最长天数
5.6.9 兔子上楼梯
5.7 习题
第6章 线性表
6.1 线性表的相关概念
6.2 线性表的存储
6.2.1 线性存储
6.2.2 链式存储
6.3 单链表操作
6.3.1 单链表的概述
6.3.2 单链表的操作实现
6.4 栈
6.4.1 栈的相关概念
6.4.2 栈的操作
6.5 队列
6.5.1 队列的相关概念
6.5.2 队列的操作
6.6 字符串
6.6.1 字符串的相关概念
6.6.2 字符串的操作
6.7 实例
6.7.1 斐波那契数列
6.7.2 判断回文数
6.7.3 模式匹配
6.7.4 字符串统计
6.7.5 Anagrams问题
6.7.6 年龄问题
6.7.7 恺撒密码
6.8 习题
第7章 树和二叉树
7.1 树和二叉树的概述
7.1.1 树和二叉树的相关概念
7.1.2 二叉树的性质
7.2 二叉树存储
7.2.1 顺序存储
7.2.2 链式存储
7.3 二叉树遍历
7.3.1 先序遍历
7.3.2 中序遍历
7.3.3 后序遍历
7.3.4 层序遍历
7.4 由遍历序列创建二叉树
7.4.1 由先序、中序推出后序遍历
7.4.2 由中序、后序推出先序遍历
7.4.3 由先序、后序推出中序遍历
7.5 二叉树的创建
7.6 哈夫曼树
7.6.1 哈夫曼编码
7.6.2 哈夫曼算法
7.7 树和二叉树的关系
7.7.1 树的存储
7.7.2 树与二叉树转换
7.8 实例
7.8.1 打印二叉树深度
7.8.2 打印二叉树左右视图
7.8.3 二叉树左右交换
7.8.4 括号组合
7.8.5 对称二叉树
7.9 习题
第8章 图
8.1 图的概述
8.1.1 图的相关概念
8.1.2 NetworkX库
8.2 图的存储
8.2.1 邻接矩阵
8.2.2 邻接表
8.3 图的遍历
8.3.1 深度优先遍历
8.3.2 广度优先遍历
8.4 最小生成树
8.4.1 克鲁斯卡尔(Kruskal)算法
8.4.2 普里姆(Prim)算法
8.5 最短路径
8.5.1 迪杰斯特拉(Dijkstra)算法
8.5.2 弗洛伊德(Floyd)算法
8.6 实例
8.6.1 旅游路线
8.6.2 单词搜索
8.7 习题
第9章 查找
9.1 查找算法
9.2 基于线性表查找
9.2.1 顺序查找
9.2.2 二分查找
9.2.3 分块查找
9.3 二叉排序树
9.3.1 二叉排序树的特性
9.3.2 二叉排序树的操作
9.4 平衡二叉树
9.4.1 平衡因子
9.4.2 构建平衡二叉树
9.5 哈希表
9.6 哈希算法
9.6.1 哈希函数
9.6.2 Python内置方法
9.7 解决冲突的方法
9.7.1 开放定址法
9.7.2 链地址法
9.8 Python自身查找算法
9.9 实例
9.9.1 查找最大值或最小值
9.9.2 二分查找法递归实现
9.9.3 查找出现次数最多的整数
9.10 习题
第10章 排序
10.1 排序概述
10.2 插入排序
10.2.1 直接插入排序
10.2.2 折半插入排序
10.2.3 希尔排序
10.3 交换排序
10.3.1 冒泡排序
10.3.2 快速排序
10.4 选择排序
10.4.1 简单选择排序
10.4.2 堆排序
10.5 归并排序
10.6 排序总结
10.6.1 时间性能
10.6.2 空间性能
10.6.3 稳定性能
10.6.4 排序算法的选择准则
10.7 Python自身排序算法
10.7.1 sorted()
10.7.2 list.sort()
10.7.3 list.reverse()
10.8 实例
10.8.1 有序序列插入元素
10.8.2 求解第二大整数
10.8.3 输出最小的k个数
10.9 习题
第11章 异常处理与调试
11.1 错误类型
11.1.1 语法错误
11.1.2 运行时错误
11.1.3 逻辑错误
11.2 捕获和处理异常
11.2.1 try…except…else语句
11.2.2 try…finally语句
11.2.3 raise语句
11.2.4 自定义异常
11.3 3种调试手段
11.4 Python调试工具
11.4.1 IDLE
11.4.2 IPDB
11.4.3 Spyder
11.4.4 PDB
11.4.5 PyCharm
11.5 习题
附录 附录A 软件考试和软件竞赛
A.1 全国计算机等级考试二级Python语言程序设计考试(2018年版)
A.1.1 基本要求
A.1.2 考试内容
A.1.3 考试方式
A.2 ACM国际大学生程序设计竞赛
A.2.1 在线判题系统
A.2.2 ACM训练环境
A.2.3 ACM的算法知识点
A.3 CSP认证
A.3.1 CSP认证简介
A.3.2 认证形式
A.3.3 涉及知识点
A.4 牛客网
A.5 力扣
附录B 图论相关模块
B.1 NumPy
B.1.1 NumPy简介
B.1.2 创建数组
B.1.3 查看数组
B.1.4 索引和切片
B.1.5 矩阵运算
B.1.6 5个NumPy函数
B.2 Matplotlib
B.2.1 Matplotlib简介
B.2.2 5种图形
B.3 NetworkX
B.3.1 图
B.3.2 节点
B.3.3 边
B.3.4 相关属性
B.4 在线图结构绘制工具
B.4.1Graph Editor
B.4.2Graphviz
附录C 更多数据类型
C.1 collections模块
C.1.1 namedtuple
C.1.2 deque
C.1.3 Counter
C.1.4 OrderedDict
C.1.5 ChainMap
C.2 heapq模块
C.3 array模块
附录D 参考答案
参考文献
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜