第一句子大全,网罗天下好句子,好文章尽在本站!

每日一书:《数据结构与算法:Python语言实现》PDF 中文超清版

时间:2011-12-29

本书延续问题求解的思路,从解决问题的目标来组织教学内容,注重理论与实践的并用

友情提示:本文共有 3633 个字,阅读大概需要 8 分钟。

内容简介

本书基于Python语言介绍了数据结构与算法的基本知识,主要内容包括抽象数据类型和Python面向对象程序设计、线性表、字符串、栈和队列、二叉树和树、集合、排序以及算法的基本知识。本书延续问题求解的思路,从解决问题的目标来组织教学内容,注重理论与实践的并用。

获取方法

私信回复【软件测试】就可以免费领取了

目录

第1章绪论1

1.1计算机问题求解1

1.1.1程序开发过程1

1.1.2一个简单例子3

1.2问题求解:交叉路口的红绿灯安排4

1.2.1问题分析和严格化5

1.2.2图的顶点分组和算法6

1.2.3算法的精化和Python描述7

1.2.4讨论8

1.3算法和算法分析10

1.3.1问题、问题实例和算法10

1.3.2算法的代价及其度量14

1.3.3算法分析19

1.3.4Python程序的计算代价(复杂度)21

1.4数据结构23

1.4.1数据结构及其分类24

1.4.2计算机内存对象表示26

1.4.3Python对象和数据结构30

练习32

第2章抽象数据类型和Python类34

2.1抽象数据类型34

2.1.1数据类型和数据构造34

2.1.2抽象数据类型的概念36

2.1.3抽象数据类型的描述37

2.2Python的类39

2.2.1有理数类39

2.2.2类定义进阶40

2.2.3本书采用的ADT描述形式43

2.3类的定义和使用44

2.3.1类的基本定义和使用44

2.3.2实例对象:初始化和使用45

2.3.3几点说明47

2.3.4继承49

2.4Python异常53

2.4.1异常类和自定义异常53

2.4.2异常的传播和捕捉54

2.4.3内置的标准异常类54

2.5类定义实例:学校人事管理系统中的类55

2.5.1问题分析和设计56

2.5.2人事记录类的实现57

2.5.3讨论62

本章总结63

练习64

第3章线性表66

3.1线性表的概念和表抽象数据类型66

3.1.1表的概念和性质66

3.1.2表抽象数据类型67

3.1.3线性表的实现:基本考虑69

3.2顺序表的实现69

3.2.1基本实现方式69

3.2.2顺序表基本操作的实现71

3.2.3顺序表的结构74

3.2.4Python的list76

3.2.5顺序表的简单总结78

3.3链接表79

3.3.1线性表的基本需要和链接表79

3.3.2单链表79

3.3.3单链表类的实现84

3.4链表的变形和操作88

3.4.1单链表的简单变形88

3.4.2循环单链表91

3.4.3双链表92

3.4.4两个链表操作95

3.4.5不同链表的简单总结98

3.5表的应用99

3.5.1Josephus问题和基于“数组”概念的解法99

3.5.2基于顺序表的解100

3.5.3基于循环单链表的解101

本章总结102

练习103

第4章字符串107

4.1字符集、字符串和字符串操作107

4.1.1字符串的相关概念107

4.1.2字符串抽象数据类型109

4.2字符串的实现109

4.2.1基本实现问题和技术109

4.2.2实际语言里的字符串110

4.2.3Python的字符串111

4.3字符串匹配(子串查找)112

4.3.1字符串匹配112

4.3.2串匹配和朴素匹配算法113

4.3.3无回溯串匹配算法(KMP算法)115

4.4字符串匹配问题119

4.4.1串匹配/搜索的不同需要120

4.4.2一种简化的正则表达式122

4.5Python正则表达式123

4.5.1概况124

4.5.2基本情况124

4.5.3主要操作125

4.5.4正则表达式的构造126

4.5.5正则表达式的使用132

本章总结132

练习133

第5章栈和队列135

5.1概述135

5.1.1栈、队列和数据使用顺序135

5.1.2应用环境136

5.2栈:概念和实现136

5.2.1栈抽象数据类型137

5.2.2栈的顺序表实现137

5.2.3栈的链接表实现139

5.3栈的应用140

5.3.1简单应用:括号匹配问题140

5.3.2表达式的表示、计算和变换142

5.3.3栈与递归149

5.4队列155

5.4.1队列抽象数据类型155

5.4.2队列的链接表实现155

5.4.3队列的顺序表实现156

5.4.4队列的list实现158

5.4.5队列的应用160

5.5迷宫求解和状态空间搜索162

5.5.1迷宫求解:分析和设计162

5.5.2求解迷宫的算法164

5.5.3迷宫问题和搜索167

5.6几点补充171

5.6.1几种与栈或队列相关的结构171

5.6.2几个问题的讨论172

本章总结173

练习173

第6章二叉树和树176

6.1二叉树:概念和性质176

6.1.1概念和性质177

6.1.2抽象数据类型181

6.1.3遍历二叉树181

6.2二叉树的list实现183

6.2.1设计和实现183

6.2.2二叉树的简单应用:表达式树185

6.3优先队列188

6.3.1概念188

6.3.2基于线性表的实现189

6.3.3树形结构和堆191

6.3.4优先队列的堆实现192

6.3.5堆的应用:堆排序195

6.4应用:离散事件模拟196

6.4.1通用的模拟框架197

6.4.2海关检查站模拟系统198

6.5二叉树的类实现202

6.5.1二叉树结点类203

6.5.2遍历算法204

6.5.3二叉树类208

6.6哈夫曼树209

6.6.1哈夫曼树和哈夫曼算法209

6.6.2哈夫曼算法的实现210

6.6.3哈夫曼编码211

6.7树和树林212

6.7.1实例和表示213

6.7.2定义和相关概念213

6.7.3抽象数据类型和操作215

6.7.4树的实现216

6.7.5树的Python实现218

本章总结220

练习220

第7章图224

7.1概念、性质和实现224

7.1.1定义和图示224

7.1.2图的一些概念和性质225

7.1.3图抽象数据类型227

7.1.4图的表示和实现228

7.2图结构的Python实现231

7.2.1邻接矩阵实现231

7.2.2压缩的邻接矩阵(邻接表)实现233

7.2.3小结235

7.3基本图算法235

7.3.1图的遍历236

7.3.2生成树238

7.4*小生成树240

7.4.1*小生成树问题240

7.4.2Kruskal算法240

7.4.3Prim算法243

*7.4.4Prim算法的改进246

7.4.5*小生成树问题247

7.5*短路径248

7.5.1*短路径问题248

7.5.2求解单源点*短路径的Dijkstra算法248

7.5.3求解任意顶点间*短路径的Floyd算法252

7.6AOV/AOE网及其算法255

7.6.1AOV网、拓扑排序和拓扑序列255

7.6.2拓扑排序算法257

7.6.3AOE网和关键路径258

7.6.4关键路径算法259

本章总结261

练习262

第8章字典和集合265

8.1数据存储、检索和字典265

8.1.1数据存储和检索265

8.1.2字典实现的问题267

8.2字典线性表实现269

8.2.1基本实现269

8.2.2有序线性表和二分法检索270

8.2.3字典线性表总结272

8.3散列和散列表273

8.3.1散列的思想和应用273

8.3.2散列函数275

8.3.3冲突的内消解:开地址技术277

8.3.4外消解技术280

8.3.5散列表的性质280

8.4集合282

8.4.1集合的概念、运算和抽象数据类型282

8.4.2集合的实现283

8.4.3特殊实现技术:位向量实现285

8.5Python的标准字典类dict和set286

8.6二叉排序树和字典287

8.6.1二叉排序树288

8.6.2**二叉排序树295

8.6.3一般情况的**二叉排序树297

8.7平衡二叉树302

8.7.1定义和性质302

8.7.2AVL树类303

8.7.3插入操作304

8.7.4相关问题310

8.8动态多分支排序树311

8.8.1多分支排序树311

8.8.2B树312

8.8.3B+ 树314

本章总结315

练习316

第9章排序319

9.1问题和性质319

9.1.1问题定义319

9.1.2排序算法320

9.2简单排序算法323

9.2.1插入排序323

9.2.2选择排序325

9.2.3交换排序327

9.3快速排序328

9.3.1快速排序的表实现329

9.3.2程序实现330

9.3.3复杂度331

9.3.4另一种简单实现332

9.4归并排序332

9.4.1顺序表的归并排序333

9.4.2归并算法的设计问题333

9.4.3归并排序函数定义333

9.4.4算法分析335

9.5其他排序方法335

9.5.1分配排序和基数排序335

9.5.2一些与排序有关的问题338

9.5.3Python系统的list排序339

本章总结340

总结

作为一名测试工程师要自己拥有核心竞争力,努力提升自己是关键,而如何提升,就需要看自己个人的学习习惯了。

最后只想说,学习不会辜负任何人,需要这本《数据结构与算法:Python语言实现》PDF的朋友可以关注我+转发+私信【软件测试】免费获取!

本文如果对你有帮助,请点赞收藏《每日一书:《数据结构与算法:Python语言实现》PDF 中文超清版》,同时在此感谢原作者。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。
相关阅读
每日一书:《Python核心编程 第3版 中文版》PDF高清版

每日一书:《Python核心编程 第3版 中文版》PDF高清版

内容简介《Python核心编程(第3版)》是经典畅销图书《Python核心编程(第二版)》的全新升级版本,总共分为3部分。第1部分为讲解了Python的一些通用应用,包括正则表达式、网络编程、Internet客户端编程、多线程编程、GUI编程...

2010-05-15 #经典句子

用Python做了一个韩语学习小工具

用Python做了一个韩语学习小工具

...程序设计不得不感叹现在编程已经非常新手友好了。Python语言本身简洁易懂,有功能丰富的库,还有各种云AI可以方便地接入调用,要做的只有找到它们,然后合理地组合使用它们。随时可用快捷键唤起,就首先写一个while True的...

2012-03-13 #经典句子

毕业入职Python开发 会基本语法但不会编程 怎样摆脱困境?

毕业入职Python开发 会基本语法但不会编程 怎样摆脱困境?

...目实例:fastHan汉语词法分析fastHan基于fastNLP与pytorch实现中文自然语言处理,内核基于BERT联合模型,在13个语料库中进行训练,可处理中文分词、词性标注、依存分析、命名实体识别四项任务。值得称赞的是,fastHan作者是复旦计...

2023-11-18 #经典句子

怎么翻译pdf?pdf转换软件可以翻译pdf格式文件吗?

怎么翻译pdf?pdf转换软件可以翻译pdf格式文件吗?

...pdf?有时候,面对一些外国人士,我们需要把pdf格式文件中文版翻译成为对应的外文版。为了实现这个操作,很多小伙伴会选择使用迅捷PDF转换器。这款软件可以把pdf简体中文翻译成繁体中文、英文等,大家可以继续往下寻找答...

2013-03-04 #经典句子

下载的英文pdf资料看不懂 怎么翻译成中文?

下载的英文pdf资料看不懂 怎么翻译成中文?

...的,那么该怎么办呢?这英文版本的pdf文件,怎么翻译成中文呢?琢磨着琢磨着,脑海中突然灵光一现,我记得我的电脑里有个迅捷pdf转换器,它里面的操作都是在针对于pdf格式的文件的,里面应该会有pdf翻译这个操作。想着我...

2014-12-29 #经典句子

Python的8种文本处理工具合集!Python入门

Python的8种文本处理工具合集!Python入门

...工具有哪些吗?我们一起来看看吧。1、Jieba:最好的Python中文分词组件,其功能包含三种分词模式,精确模式、全模式、搜索索引模式,支持繁体分词,支持自定义词典等。2、NLTK:一个构建Python程序以使用人类语言数据的领先平...

2023-08-16 #经典句子

Java程序员看过来 快速了解Python语言

Java程序员看过来 快速了解Python语言

...造一下,将“Hello World”替换为“您好,世界!”。输出中文正确。当Python2.X版本没有指定UTF-8编码时,程序可能会报错,在遇到这种情况下,需要在交互解释器输入或在Python文件的开头添加下面的代码:#coding=utf-8就可以解决中...

2011-12-04 #经典句子

床长人工智能教程pdf下载——文本自动生成研究进展与趋势

床长人工智能教程pdf下载——文本自动生成研究进展与趋势

...重要参考。同时,期望学界和工业界一起努力,尽早实现中文文本自动生成系统,抢占中文文本自动生成技术的制高点。需要指出的是,自然语言处理领域的自然语言生成技术专指从机器可读数据生成自然语言文本的技术,而本...

2023-11-20 #经典句子