可以朗读
语音朗读
99千字
字数
2020-09-01
发行日期
展开全部
主编推荐语
本书讲述了Python语言与数据结构。
内容简介
本书主要内容包括数据结构与算法、Python开发环境、Python数据类型、Python三大结构、函数、线性表、树和二叉树、图、查找、排序、异常处理与调试等。
目录
- 版权信息
- 前言
- 第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 参考答案
- 参考文献
展开全部
出版方
机械工业出版社
机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。