书籍详情
数据结构和算法基础Python语言实现
作者:陈良旭 著
出版社:北京大学出版社
出版时间:2020-12-01
ISBN:9787301316542
定价:¥79.00
购买这本书可以去
内容简介
本书首先介绍算法的概念和特点,然后介绍数据结构,再逐步深入介绍各类算法,通过解决实际问题加深理解。本书选取了近年来比较热门的语言Python作为载体,来实现算法的功能。这不但可以让读者系统地学习算法的相关知识,而且还能提高读者对Python语言的应用水平。 本书分为7章,涵盖的主要内容有算法简介、数据结构、数学相关算法、排序算法、查找算法、图相关算法、算法思想归纳。其中包含对非常多经典算法的讲解,如归并排序、快速排序、拓扑排序、二叉查找树、红黑树、最小生成树算法、最短路径算法、极大极小值算法、遗传算法等。最后通过归纳总结,让读者懂得常见算法的设计思路,能够根据实际情况选择合适的算法。
作者简介
陈良旭,毕业于法国国立高等应用电子学院(ENSEA),获得计算机工程师文凭,曾在ETIS实验室研究LDPC算法。现任职于佛山珠江传媒大数据科技有限公司,从事数据分析工作,研究方向有舆情监控、数据纠错等。
目录
第1章 从零开始学算法 1
1.1 算法基础知识 21.1.1 什么是算法 2
1.1.2 算法时间复杂度 2
1.1.3 算法空间复杂度 5
1.1.4 算法优劣比较 6
1.2 计算机中如何描述算法 61.2.1 自然语言 7
1.2.2 流程图 7
1.2.3 伪代码 8
1.2.4 挑战:这个月有多少天 8
1.3 Python概述 101.3.1 Python简介 10
1.3.2 环境搭建 11
1.3.3 开发工具介绍 15
1.3.4 单元测试 22
1.4 总结 252
第2章 数据结构 27
2.1 数组 282.1.1 定义 28
2.1.2 挑战1:海盗船生存大考验 30
2.1.3 挑战2:必胜的游戏 32
2.2 链表 372.2.1 定义 37
2.2.2 挑战:国王的继承人 43
2.3 队列 452.3.1 定义 45
2.3.2 挑战:维修报警器 48
2.4 栈 502.4.1 定义 51
2.4.2 挑战1:和机器人做朋友 52
2.4.3 挑战2:让机器人帮你检查作业 54
2.5 哈希表 562.5.1 定义 56
2.5.2 挑战:基因研究 62
2.6 树 642.6.1 定义 65
2.6.2 二叉树 66
2.6.3 二叉查找树 71
2.6.4 挑战:画一棵好看的“树” 75
2.7 图 782.7.1 定义 79
2.7.2 图的表示 79
2.7.3 图的遍历 82
2.7.4 挑战:“一笔画完”小游戏 86
2.8 总结 913
第3章 数 学 92
3.1 进制转换 93
3.2 基本概念 933.2.1 十进制 93
3.2.2 二进制 93
3.2.3 八进制和十六进制 93
3.2.4 进制转换 94
3.2.5 挑战:网络攻击 98
3.3 数学运算 1003.3.1 内置函数 100
3.3.2 Math库模块 101
3.3.3 排列组合 102
3.3.4 矩阵运算 102
1.1 算法基础知识 21.1.1 什么是算法 2
1.1.2 算法时间复杂度 2
1.1.3 算法空间复杂度 5
1.1.4 算法优劣比较 6
1.2 计算机中如何描述算法 61.2.1 自然语言 7
1.2.2 流程图 7
1.2.3 伪代码 8
1.2.4 挑战:这个月有多少天 8
1.3 Python概述 101.3.1 Python简介 10
1.3.2 环境搭建 11
1.3.3 开发工具介绍 15
1.3.4 单元测试 22
1.4 总结 252
第2章 数据结构 27
2.1 数组 282.1.1 定义 28
2.1.2 挑战1:海盗船生存大考验 30
2.1.3 挑战2:必胜的游戏 32
2.2 链表 372.2.1 定义 37
2.2.2 挑战:国王的继承人 43
2.3 队列 452.3.1 定义 45
2.3.2 挑战:维修报警器 48
2.4 栈 502.4.1 定义 51
2.4.2 挑战1:和机器人做朋友 52
2.4.3 挑战2:让机器人帮你检查作业 54
2.5 哈希表 562.5.1 定义 56
2.5.2 挑战:基因研究 62
2.6 树 642.6.1 定义 65
2.6.2 二叉树 66
2.6.3 二叉查找树 71
2.6.4 挑战:画一棵好看的“树” 75
2.7 图 782.7.1 定义 79
2.7.2 图的表示 79
2.7.3 图的遍历 82
2.7.4 挑战:“一笔画完”小游戏 86
2.8 总结 913
第3章 数 学 92
3.1 进制转换 93
3.2 基本概念 933.2.1 十进制 93
3.2.2 二进制 93
3.2.3 八进制和十六进制 93
3.2.4 进制转换 94
3.2.5 挑战:网络攻击 98
3.3 数学运算 1003.3.1 内置函数 100
3.3.2 Math库模块 101
3.3.3 排列组合 102
3.3.4 矩阵运算 102
猜您喜欢