Python数据结构与算法分析 PDF 完整第2版

  • 更新时间:
  • 6118人关注
  • 点击下载

Python数据结构与算法分析》是一本关于Python相关的电子书资源,介绍了关于Python、数据结构、算法分析方面的内容,本书是由人民邮电出版社出版,格式为PDF,资源大小10.4 MB,布拉德利·米勒编写,目前豆瓣、亚马逊、当当、京东等综合评分为:8.8分,我们还提供了PDF格式内容下载,一起来看下具体内容。

Python数据结构与算法分析 第2版 PDF

若把撰写代码比成急行军打战,那麼要想独霸战场,不可以光靠手上的尖刀,还需深得古语。Python是一把尖刀,数据结构与优化算法则是古语。只能通读古语,才可以使尖刀无坚不摧。《Python数据结构与算法分析 第2版》是用Python叙述数据结构与优化算法的劈山之作,聚集了创作者很多年的项目经验。根据学习培训这书,你将把握数据结构与优化算法的基础观念,进而有自信心探寻一切编译程序难点的解决方案。 - 应用Python保持栈、序列、目录等抽象数据类型 - 把握大O记法和时间复杂度等定义 - 运用递归处理汉诺塔问题 - 保持常见的搜索算法和排序算法,并剖析特性 - 把握树与图在Python中的运用 书籍每章內容常有配套设施训练,协助你尽快把握所教內容; 对于Python新版本全新升级重做,全部的代码全是应用Python3.x写出; 将全部的数据结构源代码都放到一个Python包中,便捷用户在进行工作时应用; 有关配套设施資源请至图灵社区免费下载。
掌握数据结构与优化算法是明白了解电子信息科学的前提条件。伴随着Python日渐普遍的运用,Python程序猿必须保持与传统式的面向对象编程言语类似的数据结构与优化算法。这书是用Python叙述数据结构与优化算法的劈山之作,聚集了创作者很多年的项目经验,向用户明白解读在Python自然环境下,怎样根据一系列储存体制高效率地保持各种优化算法。根据这书,用户将深刻领会Python数据结构、递归、检索、排列、树与图的运用,这些。

目录

  • 第1章 导论 1
  • 1.1 本章目标 1
  • 1.2 入门 1
  • 1.3 何谓计算机科学 1
  • 1.3.1 何谓编程 3
  • 1.3.2 为何学习数据结构及抽象数据类型 4
  • 1.3.3 为何学习算法 4
  • 1.4 Python基础 5
  • 1.4.1 数据 5
  • 1.4.2 输入与输出 16
  • 1.4.3 控制结构 18
  • 1.4.4 异常处理 21
  • 1.4.5 定义函数 23
  • 1.4.6 Python面向对象编程:定义类 24
  • 1.5 小结 37
  • 1.6 关键术语 38
  • 1.7 讨论题 38
  • 1.8 编程练习 38
  • 第 2章 算法分析 40
  • 2.1 本章目标 0
  • 2.2 何谓算法分析 40
  • 2.2.1 大O记法 43
  • 2.2.2 异序词检测示例 46
  • 2.3 Python数据结构的性能 49
  • 2.3.1 列表 49
  • 2.3.2 字典 53
  • 2.4 小结 55
  • 2.5 关键术语 55
  • 2.6 讨论题 56
  • 2.7 编程练习 56
  • 第3章 基本数据结构 57
  • 3.1 本章目标 57
  • 3.2 何谓线性数据结构 57
  • 3.3 栈 58
  • 3.3.1 何谓栈 58
  • 3.3.2 栈抽象数据类型 59
  • 3.3.3 用Python实现栈 60
  • 3.3.4 匹配括号 62
  • 3.3.5 普通情况:匹配符号 64
  • 3.3.6 将十进制数转换成二进制数 65
  • 3.3.7 前序、中序和后序表达式 67
  • 3.4 队列 75
  • 3.4.1 何谓队列 75
  • 3.4.2 队列抽象数据类型 75
  • 3.4.3 用Python实现队列 76
  • 3.4.4 模拟:传土豆 77
  • 3.4.5 模拟:打印任务 79
  • 3.5 双端队列 84
  • 3.5.1 何谓双端队列 84
  • 3.5.2 双端队列抽象数据类型 84
  • 3.5.3 用Python实现双端队列 85
  • 3.5.4 回文检测器 86
  • 3.6 列表 88
  • 3.6.1 无序列表抽象数据类型 88
  • 3.6.2 实现无序列表:链表 89
  • 3.6.3 有序列表抽象数据类型 97
  • 3.6.4 实现有序列表 97
  • 3.7 小结 100
  • 3.8 关键术语 101
  • 3.9 讨论题 101
  • 3.10 编程练习 102
  • 第4章 递归 105
  • 4.1 本章目标 105
  • 4.2 何谓递归 105
  • 4.2.1 计算一列数之和 105
  • 4.2.2 递归三原则 107
  • 4.2.3 将整数转换成任意进制的字符串 108
  • 4.3 栈帧:实现递归 110
  • 4.4 递归可视化 111
  • 4.5 复杂的递归问题 116
  • 4.6 探索迷宫 118
  • 4.7 动态规划 123
  • 4.8 小结 128
  • 4.9 关键术语 129
  • 4.10 讨论题 129
  • 4.11 编程练习 129
  • 第5章 搜索和排序 131
  • 5.1 本章目标 131
  • 5.2 搜索 131
  • 5.2.1 顺序搜索 131
  • 5.2.2 二分搜索 134
  • 5.2.3 散列 136
  • 5.3 排序 145
  • 5.3.1 冒泡排序 145
  • 5.3.2 选择排序 147
  • 5.3.3 插入排序 149
  • 5.3.4 希尔排序 151
  • 5.3.5 归并排序 153
  • 5.3.6 快速排序 156
  • 5.4 小结 159
  • 5.5 关键术语 160
  • 5.6 讨论题 160
  • 5.7 编程练习 161
  • 第6章 树 163
  • 6.1 本章目标 163
  • 6.2 示例 163
  • 6.3 术语及定义 166
  • 6.4 实现 168
  • 6.4.1 列表之列表 168
  • 6.4.2 节点与引用 171
  • 6.5 二叉树的应用 173
  • 6.5.1 解析树 173
  • 6.5.2 树的遍历 179
  • 6.6 利用二叉堆实现优先级队列 182
  • 6.6.1 二叉堆的操作 182
  • 6.6.2 二叉堆的实现 183
  • 6.7 二叉搜索树 189
  • 6.7.1 搜索树的操作 190
  • 6.7.2 搜索树的实现 190
  • 6.7.3 搜索树的分析 201
  • 6.8 平衡二叉搜索树 202
  • 6.8.1 AVL树的性能 203
  • 6.8.2 AVL树的实现 204
  • 6.8.3 映射实现总结 210
  • 6.9 小结 211
  • 6.10 关键术语 211
  • 6.11 讨论题 211
  • 6.12 编程练习 213
  • 第7章 图及其算法 214
  • 7.1 本章目标 214
  • 7.2 术语及定义 215
  • 7.3 图的抽象数据类型 216
  • 7.3.1 邻接矩阵 216
  • 7.3.2 邻接表 217
  • 7.3.3 实现 218
  • 7.4 宽度优先搜索 220
  • 7.4.1 词梯问题 220
  • 7.4.2 构建词梯图 221
  • 7.4.3 实现宽度优先搜索 223
  • 7.4.4 分析宽度优先搜索 226
  • 7.5 深度优先搜索 226
  • 7.5.1 骑士周游问题 226
  • 7.5.2 构建骑士周游图 227
  • 7.5.3 实现骑士周游 229
  • 7.5.4 分析骑士周游 231
  • 7.5.5 通用深度优先搜索 233
  • 7.5.6 分析深度优先搜索 236
  • 7.6 拓扑排序 236
  • 7.7 强连通单元 238
  • 7.8 最短路径问题 241
  • 7.8.1 Dijkstra算法 243
  • 7.8.2 分析Dijkstra算法 245
  • 7.8.3 Prim算法 245
  • 7.9 小结 248
  • 7.10 关键术语 249
  • 7.11 讨论题 249
  • 7.12 编程练习 250
  • 第8章 附加内容 251
  • 8.1 本章目标 251
  • 8.2 复习Python列表 251
  • 8.3 复习递归 256
  • 8.3.1 同余定理 257
  • 8.3.2 幂剩余 257
  • 8.3.3 最大公因数与逆元 258
  • 8.3.4 RSA算法 261
  • 8.4 复习字典:跳表 264
  • 8.4.1 映射抽象数据类型 265
  • 8.4.2 用Python实现字典 265
  • 8.5 复习树:量化图片 274
  • 8.5.1 数字图像概述 274
  • 8.5.2 量化图片 275
  • 8.5.3 使用八叉树改进量化算法 277
  • 8.6 复习图:模式匹配 284
  • 8.6.1 生物学字符串 285
  • 8.6.2 简单比较 285
  • 8.6.3 使用图:DFA 287
  • 8.6.4 使用图:KMP 288
  • 8.7 小结 291
  • 8.8 关键术语 291
  • 8.9 讨论题 291
  • 8.10 编程练习 292
  • 附录A Python图形包 293
  • 附录B Python资源 294
  • 参考资料295
展开阅读

Python相关资源

  • Python数据分析与挖掘实战

    Python数据分析与挖掘实战

    10余名大数据挖掘行业杰出权威专家和科技人员,10多年大数据分析资询与执行工作经验结晶体。从大数据挖掘的运用来看,以电力工程、航空公司、诊疗、互联网技术、生产加工及其公共文化

    大小:46.8 MBPython

    立即下载
  • Python金融大数据分析

    Python金融大数据分析

    大小:47.8 MBPython

    立即下载
  • Python数据分析与数据化运营

    Python数据分析与数据化运营

    这书內容从逻辑性上共分成两绝大多数,第壹一部分是相关数据统计分析类的主题风格,其次一部分是相关数字化经营的主题风格。第壹一部分的內容包含1/2/3/4章和附则,关键详细介绍了Pyt

    大小:18 MBPython

    立即下载
  • 数据结构与算法:Python语言实现

    数据结构与算法:Python语言实现

    这书选用Python語言详细介绍数据结构和优化算法,包含其设计构思、剖析和执行。这书源码简约、确立,面向对象编程的见解围绕自始至终,根据承继*底限地提升编码器重,一起突显不一样抽

    大小:32.9 MB数据结构算法

    立即下载
  • Python数据科学手册

    Python数据科学手册

    这本书是以数据深度需求为中心的科学、研究以及针对计算和统计方法的参考书,讲述了个Python数据科学中的重点工具包、Matplotlib、NumPy等对象

    大小:12.4 MBPython

    立即下载
  • Python与数据挖掘

    Python与数据挖掘

    本书主要分为两大部分,基础篇和建模应用篇。基础篇介绍了有关Python开发环境的搭建、Python基础入门、函数、面向对象编程、实用模块和图表绘制等基础知识。建模应用篇主要介绍了目前在

    大小:20.1 MBPython

    立即下载
  • Python数据分析与应用

    Python数据分析与应用

    大小:281 MBPython数据

    立即下载
  • Python和HDF5大数据应用

    Python和HDF5大数据应用

    本书向任何有Python数据分析基本背景的人介绍如何在Python下使用HDF5。适合有基础的Python开发者,尤其适合要使用Python开发数据存储和处理等相关应用的读者阅读参考,感兴趣的小伙伴们可以下载参考一下

    大小:13.8 MBPython数据分析

    立即下载

学习笔记

23小时13分钟前回答

python算法与数据结构之冒泡排序实例详解

一、冒泡排序介绍 冒泡排序(英语:Bubble Sort)是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 二、冒泡排序原理 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。这一步做完,最后的元素应该会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重复上面……

16小时54分钟前回答

Python实现基本线性数据结构

数组 数组的设计 数组设计之初是在形式上依赖内存分配而成的,所以必须在使用前预先请求空间。这使得数组有以下特性: 1、请求空间以后大小固定,不能再改变(数据溢出问题); 2、在内存中有空间连续性的表现,中间不会存在其他程序需要调用的数据,为此数组的专用内存空间; 3、在旧式编程语言中(如有中阶语言之称的C),程序不会对数组的操作做下界判断,也就有潜在的越界操作的风险(比如会把数据写在运行中程序需要调用的核心部分的内存上)。 因为简单数组强烈倚赖电脑硬件之内存,所以不适用于现代的程序设计。欲使用可变大小、硬件无关性的数据类型,Java等程序设计语言均……

14小时14分钟前回答

Python中基本的数据结构--列表

Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推 列表 1、定义列表,取出列表中的值 1 names = [] #定义空列表 2 names = ['a','b','c'] #定义一个非空列表 3 4 # 取出列表中的值 5 6 names = ['a','b','c'] 7 names[0] 8 'a' 9 names[1]10 'b'11 names[2]12 'c'13 names[-1]#倒着取最后一个值14 'c' 2、切片 1 names = ['a','b','c','d'] # 列表的下标值是从0开始取值的 2 names[1:3] #取1到3之间的元素,包括1,不包括3 3 ['b', 'c'] 4 names[1:-1] #取1到-1之间的元素,包括1,不包括-1 5 ['b', 'c'] 6 names[0:3] 7 ['a', 'b', 'c'] 8 names[:3] #从头开始取,0可以省略,效果等同于names[0:3] 9 ['a', 'b', 'c']10 ……

2小时53分钟前回答

Python中数据结构与算法的应用(附示例)

本篇文章给大家带来的内容是关于Python中数据结构与算法的应用(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 问题1 现在有一个包含 N 个元素的元组或者是序列,怎样将它里面的值解压后同时赋值给 N 个变量? 解决方案 任何的序列(可迭代对象)可以通过一个简单的赋值语句解压并赋值给多个变量。前提是变量的数量和序列元素的数量要一致。 In [3]: p = (4,5)In [4]: x,y = pIn [5]: xOut[5]: 4In [6]: yOut[6]: 5In [7]: data = ['ACME', 50, 91.1, (2012, 12, 21)]In [8]: name, shares, price, date = dataIn [9]: nameOut[9]: 'ACME'In [10]: sharesOut[10]: 50In [11]: dateOut[11]: (2012, 12, 21) 如果变量数量和序列元素数量不匹配,……