万本电子书0元读

万本电子书0元读

顶部广告

数据结构与算法(Python版)电子书

每章都有用Python实现该章内容的案例。 附录给出了软件考试与软件竞赛、图论相关模块、更多数据类型和习题答案。 传统的数据结构教材“重理论轻代码”,往往只是给出伪代码,而本书的代码都用Python实现。 采用Python 3版本,所有程序都在Anaconda中行调试和运行。

售       价:¥

纸质售价:¥41.60购买纸书

119人正在读 | 0人评论 6.2

作       者:周元哲

出  版  社:机械工业出版社

出版时间:2021-06-18

字       数:9.6万

所属分类: 教育 > 大中专教材 > 成人/中高职教材

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(1条)
  • 读书简介
  • 目录
  • 累计评论(1条)
《数据结构与算法(Python版)》讲述了Python语言与数据结构。主要内容包括数据结构与算法、Python发环境、Python数据类型、Python三大结构、函数、线性表、树和二叉树、图、查找、排序、异常处理与调试等。 《数据结构与算法(Python版)》内容精炼、由浅深,注重学习的连续性和渐性,适合作为高等院校相关专业教材或教学参考书,也可作为计算机技术人员的应用参考书,还可作为全国计算机等级考试、软件技术资格与水平考试的培训资料。<br/>【推荐语】<br/>每章都有用Python实现该章内容的案例。 附录给出了软件考试与软件竞赛、图论相关模块、更多数据类型和习题答案。 传统的数据结构教材“重理论轻代码”,往往只是给出伪代码,而本书的代码都用Python实现。 采用Python 3版本,所有程序都在Anaconda中行调试和运行。<br/>
目录展开

题名页

版权页

前言

第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条) 2个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部