展开全部

主编推荐语

本书讲述了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 参考答案
  • 参考文献
展开全部

评分及书评

评分不足
1个评分

出版方

机械工业出版社

机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。