• 大话数据结构 溢彩加强版 数据库 程杰 新华正版
  • 大话数据结构 溢彩加强版 数据库 程杰 新华正版
21年品牌 40万+商家 超1.5亿件商品

大话数据结构 溢彩加强版 数据库 程杰 新华正版

超级书彩升华版,百万读者认可的趣味解读“数据结构+算”,配合动效ppt课件,动态扫除难点。程杰作品,必属精品。

79.5 6.7折 119 全新

库存104件

河北保定
认证卖家担保交易快速发货售后保障

作者程杰

出版社清华大学出版社

ISBN9787302564713

出版时间2020-12

版次1

装帧平装

开本16开

页数392页

字数537千字

定价119元

货号xhwx_1202157208

上书时间2023-12-22

浩子书屋

八年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
正版特价新书
商品描述
主编:

"编辑的话2008年,一本特立独行的it技术图书大话设计模式横空出世,开创了一种新派技术图书风格,横扫各大排行。作者程杰并没有满足这个,耗时3年潜心创作了另外一本同样是程序员基础的著作——大话数据结构,不出意外地如潮。直到,这两本书仍然常驻各大排行。作为本土原创图书,这个简直不可思议——印象里只有国外经典技术图书具备如此强的生命力。虽然在这十几年里程杰兄未再动笔,但依然与我保持着密切联系。非常荣幸的是,在这本新作中,我依然是他的编辑。十几年来,it技术已经有了翻天覆地的变化,当年的桌面程序基本都迁移到了当前的互联网和移动端上,以至人工智能、深度学,开发语言也从当初c、java为主力语言变成如今包治百病的python,我作为一个it编辑,回顾起来其实还挺有意思的。关于大话数据结构【溢彩加强版】的代码语言,确实跟程杰有过小小的争执,我建议换python,程杰还是坚持用c。他的理由是:讲解数据结构,还是得用干净纯粹的通用经典计算机语言,虽然python很灵动,正是这种灵动,有时在解析数据结构的时候显得不够严肃和“正统”,而程序员的基础必修课,必须要一拳一脚地养成规范的动作惯。数据结构在某种程度上和设计模式类似,都是前辈的武功套路。不同的是,设计模式是近几十年很好程序员的智慧结晶,而数据结构是几百上千年无数科学家、数学家的智慧沉淀,具有更加深厚的背景。大家知道,程序是利用计算机的高速运算能力来协助我们处理一些需要海量运算得出结果的问题,花哨的界面和良好的用户体验背后,是无数计算机强大的算力得出我们需要的结果——无论是气象预报还是扫脸支付。一台计算机的cpu运算能力是固定的,只会机械地接收程序的指令,所以,算的优劣决定了程序设计水的高低(关于计算机硬件的运算和流程,这里一大话数据结构【溢彩加强版】——大话计算机【清华大学出版社】)。举个简单的例子,数据库能优化这个工作,收费是按照小时来计算的,有个段子,真实无从证:水高的每小时可以达到30万美金。为什么会值这么多钱?有价值吗?本质上讲这是算的力量,使用的算可以在为企业节省海量的硬件投入同时带来巨大的效率提升——比如之前需要100台机,优化之后只需要10台够了;之前生成一个数据需要1分钟出来结果,优化之后1秒钟够了这对于企业来说,节省的成本可远远不止投入的几十上百万元的优化费用了。当然,数据库优化有很多算优化之外的技术,但是如果优化结果发生了质变,那主要是算的功劳。外的程序员很多是数学专业出身,也在程度上说明了这个问题。很多程序员被戏称为“码农”——一种流水线机械作业的工种,至今此工种仍大量存在。可以预见的是,随着软件开发集成度的提高和ai技术的发展,“码农”会大量减少,未来的软件开发需要的是“软件架构师”和“算工程师”,无论走哪条路线,算都是重中之重。可以说,算基础不牢靠,职业生涯不牢靠。(关于这个话题,再一大话数据结构【溢彩加强版】——大话软件工程【清华大学出版社】)我们的程序员因为在受教育的过程中,由于种种原因,数据结构和算的基本功通常要差一些,等从业以后想再补课又缺乏好的,或者说适合自学的教材。数据结构不是说没有教材,比如数据结构(严蔚敏清华版)、算导论(机工版)这样的经典著作我们不能说不好,但是作为自学,实在是有点难啃。大话数据结构【溢彩加强版】延续了前作轻松调侃的风格,采用了师生对话的方式展开讨论,其中穿插了大量“接地气”的类比案例,帮助大家迅速“开窍”,在我的建议下,程杰精心将大话数据结构【溢彩加强版】图表制作成彩,阅读起来你会发现,不仅仅是养眼,对一些流程、概念的解说,用彩图表更为,学体验有了质变。感谢程杰这样的作者真诚地将自己的感悟奉献出来。与作者的用心相比,作为策划编辑付出的劳动不值得一提了。这里真心希望读者可以从书中找到需要的东西,也希望更多高人涌现出来,为读者创作更适合阅读的科技图书。清华大学出版社栾大成"

目录:

章数据结构绪论1

1.1开场白2

1.2你数据结构怎么学的3

1.3数据结构起源4

1.4基本概念和术语5

1.4.1数据5

1.4.2数据元素6

1.4.3数据项7

1.4.4数据对象7

1.4.5数据结构7

1.5逻辑结构与物理结构8

1.5.1逻辑结构8

1.5.2物理结构9

1.6数据类型11

1.6.1数据类型定义11

1.6.2抽象数据类型12

1.7结回顾13

1.8结尾语14

第2章算15

2.1开场白16

2.2数据结构与算的关系16

2.3两种算的比较17

2.4算定义18

2.5算的特19

2.5.1输入输出19

2.5.2有穷19

2.5.3确定20

2.5.4可行20

2.6算设计的要求20

2.6.1正确21

2.6.2可读21

2.6.3健壮21

2.6.4时间效率高和存储量低22

2.7算效率的度量方22

2.7.1事后统计方22

2.7.2事前分析估算方23

2.8函数的渐近增长25

2.9算时间复杂度27

2.9.1算时间复杂度定义27

2.9.2推导大o阶方28

2.9.3常数阶28

2.9.4线阶29

2.9.5对数阶29

2.9.6方阶29

2.10常见的时间复杂度31

2.11坏情况与均情况32

2.12算空间复杂度33

2.13结回顾34

2.14结尾语35

第3章线表37

3.1开场白38

3.2线表的定义39

3.3线表的抽象数据类型41

3.4线表的顺序存储结构43

3.4.1顺序存储定义43

3.4.2顺序存储方式43

3.4.3数据长度与线表长度的区别44

3.4.4地址计算方45

3.5顺序存储结构的插入与删除46

3.5.1获得元素作46

3.5.2插入作46

3.5.3删除作47

3.5.4线表顺序存储结构的优缺点49

3.6线表的链式存储结构49

3.6.1顺序存储结构不足的解决办49

3.6.2线表链式存储结构定义50

3.6.3头指针与头结点的异同52

3.6.4线表链式存储结构代码描述52

3.7单链表的读取53

3.8单链表的插入与删除54

3.8.1单链表的插入54

3.8.2单链表的删除56

3.9单链表的整表创建58

3.10单链表的整表删除60

3.11单链表结构与顺序存储结构的优缺点61

3.12静态链表62

3.12.1静态链表的插入作64

3.12.2静态链表的删除作65

3.12.3静态链表的优缺点67

3.13循环链表67

3.14双向链表70

3.15结回顾72

3.16结尾语73

第4章栈与队列75

4.1开场白76

4.2栈的定义76

4.2.1栈的定义76

4.2.2进栈出栈变化形式78

4.3栈的抽象数据类型78

4.4栈的顺序存储结构及实现79

4.4.1栈的顺序存储结构79

4.4.2栈的顺序存储结构——进栈作80

4.4.3栈的顺序存储结构——出栈作81

4.5两栈共享空间81

4.6栈的链式存储结构及实现83

4.6.1栈的链式存储结构83

4.6.2栈的链式存储结构——进栈作84

4.6.3栈的链式存储结构——出栈作85

4.7栈的作用85

4.8栈的应用——递归86

4.8.1斐波那契数列的实现86

4.8.2递归的定义88

4.9栈的应用——四则运算表达式求值89

4.9.1后缀(逆波兰)表示的定义89

4.9.2后缀表达式的计算结果90

4.9.3中缀表达式转后缀表达式92

4.10队列的定义93

4.11队列的抽象数据类型94

4.12循环队列95

4.12.1队列顺序存储的不足95

4.12.2循环队列的定义96

4.13队列的链式存储结构及实现99

4.13.1队列的链式存储结构——入队作100

4.13.2队列的链式存储结构——出队作100

4.14结回顾101

4.15结尾语102

第5章串103

5.1开场白104

5.2串的定义104

5.3串的比较105

5.4串的抽象数据类型107

5.5串的存储结构108

5.5.1串的顺序存储结构108

5.5.2串的链式存储结构109

5.6朴素的模式匹配算110

5.7kmp模式匹配算113

5.7.1kmp模式匹配算的113

5.7.2next数组值的推导116

5.7.3kmp模式匹配算的实现117

5.7.4kmp模式匹配算的改进119

5.7.5nextval数组值的推导120

5.8结回顾122

5.9结尾语122

第6章树125

6.1开场白126

6.2树的定义126

6.2.1结点的分类127

6.2.2结点间的关系128

6.2.3树的其他相关概念129

6.3树的抽象数据类型129

6.4树的存储结构130

6.4.1双亲表示130

6.4.2孩子表示133

6.4.3孩子兄弟表示136

6.5二树的定义137

6.5.1二树的特点139

6.5.2特殊二树140

6.6二树的质142

6.6.1二树的质1142

6.6.2二树的质2143

6.6.3二树的质3143

6.6.4二树的质4144

6.6.5二树的质5144

6.7二树的存储结构145

6.7.1二树的顺序存储结构145

6.7.2二链表146

6.8遍历二树147

6.8.1二树的遍历147

6.8.2二树的遍历方148

6.8.3前序遍历算150

6.8.4中序遍历算153

6.8.5后序遍历算156

6.8.6推导遍历结果156

6.9二树的建立158

6.10线索二树159

6.10.1线索二树的159

6.10.2线索二树结构的实现162

6.11树、森林与二树的转换165

6.11.1树转换为二树166

6.11.2森林转换为二树167

6.11.3二树转换为树168

6.11.4二树转换为森林169

6.11.5树与森林的遍历170

6.12哈夫曼树及其应用171

6.12.1哈夫曼树171

6.12.2哈夫曼树的定义与173

6.12.3哈夫曼编码176

6.13结回顾177

6.14结尾语178

第7章图181

7.1开场白182

7.2图的定义182

7.2.1各种图的定义183

7.2.2图的顶点与边间的关系185

7.2.3连通图的相关术语187

7.2.4图的定义与术语结189

7.3图的抽象数据类型190

7.4图的存储结构191

7.4.1邻接矩阵192

7.4.2邻接表195

7.4.3十字链表198

7.4.4邻接多重表199

7.4.5边集数组201

7.5图的遍历202

7.5.1深度优先遍历203

7.5.2广度优先遍历205

7.6小生成树208

7.6.1普里姆(prim)算209

7.6.2克鲁斯卡尔(kruskal)算213

7.7短路径218

7.7.1迪杰斯特拉(dijkstra)算220

7.7.2弗洛伊德(floyd)算225

7.8拓扑排序229

7.8.1拓扑排序介绍229

7.8.2拓扑排序算230

7.9关键路径234

7.9.1关键路径算的236

7.9.2关键路径算237

7.10结回顾242

7.11结尾语243

第8章查找245

8.1开场白246

8.2查找概论247

8.3顺序表查找249

8.3.1顺序表查找算249

8.3.2顺序表查找优化250

8.4有序表查找251

8.4.1折半查找251

8.4.2插值查找253

8.4.3斐波那契查找255

8.5线索引查找257

8.5.1稠密索引258

8.5.2分块索引258

8.5.3倒排索引260

8.6二排序树262

8.6.1二排序树的查找作264

8.6.2二排序树的插入作266

8.6.3二排序树的删除作267

8.6.4二排序树结272

8.7衡二树(avl树)273

8.7.1衡二树的实现275

8.7.2衡二树的实现算278

8.8多路查找树(b树)284

8.8.12-3树285

8.8.22-3-4树289

8.8.3b树290

8.8.4b树292

8.9散列表查找(哈希表)概述294

8.9.1散列表查找定义294

8.9.2散列表查找步骤295

8.10散列函数的构造方296

8.10.1直接定址297

8.10.2数字分析297

8.10.3方取中298

8.10.4折叠298

8.10.5除留余数298

8.10.6数299

8.11处理散列的方300

8.11.1开放定址300

8.11.2再散列函数302

8.11.3链地址302

8.11.4公共溢出区302

8.12散列表查找的实现303

8.12.1散列表查找的算实现303

8.12.2散列表查找的能分析305

8.13结回顾305

8.14结尾语306

第9章排序309

9.1开场白310

9.2排序的基本概念与分类310

9.2.1排序的稳定311

9.2.2内排序与外排序312

9.2.3排序用到的结构与函数313

9.3冒泡排序314

9.3.1简单排序的实现314

9.3.2冒泡排序算315

9.3.3冒泡排序优化316

9.3.4冒泡排序复杂度分析317

9.4简单选择排序318

9.4.1简单选择排序算318

9.4.2简单选择排序复杂度分析319

9.5直接插入排序320

9.5.1直接插入排序算320

9.5.2直接插入排序复杂度分析322

9.6希尔排序323

9.6.1希尔排序324

9.6.2希尔排序算325

9.6.3希尔排序复杂度分析328

9.7堆排序329

9.7.1堆排序算331

9.7.2堆排序复杂度分析337

9.8归并排序337

9.8.1归并排序算338

9.8.2归并排序复杂度分析343

9.8.3非递归实现归并排序343

9.9快速排序346

9.9.1快速排序算346

9.9.2快速排序复杂度分析349

9.9.3快速排序优化350

9.10结回顾354

9.11结尾语357

内容简介:

本书以一个计算机教师的过程为场景,讲解数据结构和相关算的知识。全书以趣味方式来叙述,大量引用各种各样的生活知识来类比,并充分运用全彩图形语言来解读抽象内容,对数据结构所涉及的一些经典算做出逐行分析、多算比较。与同类图书相比,本书内容有趣易读,算讲解细致深入,是一本非常适合自学的读物。对于学数据结构来说,难点之一是对相关算的理解。本书创新地采用全彩印刷,图表、流程、代码等内容结合彩来重新进行约定和归纳,使得对一些难以理解的知识点的解析更加清晰顺畅,极大提升了阅读体验。本书主要内容包含:数据结构介绍、算推导大o阶的方;顺序结构与链式结构差异、栈与队列的应用;串的朴素模式匹配、kmp模式匹配算;二树前中后序遍历、哈夫曼树及应用;图的深度、广度遍历;小生成树两种算、短路径两种算;拓扑排序与关键路径算;折半查找、插值查找、斐波那契查找等静态查找;稠密索引、分块索引、倒排索引等索引技术;二排序树、衡二树等动态查找;b树、b树技术,散列表技术;冒泡、选择、插入等简单排序;希尔、堆、归并、快速等改进排序。本书适合学过一门编程语言的各类读者,包括在读的大中专计算机专业、想转行做开发的非专业人员、欲计算机专业的应届生或在职人员,以及工作后需要补学或温数据结构和算的程序员等。

作者简介:

"程杰,一个被读者誉为很适合写it技术书的家伙。著有大话设计模式(简体版破25万册、繁体版印刷12次,开创了一种适合国人阅读的趣味讲解it知识的风格与模式)。作者参与过、证券、游戏、交通等多种行业的软件开发及项目管理工作,也曾做过软件培训的教师,目前从事教育类app/小程序的开发与运营。因为有过两年半高中数学的独特经历,使得其书作当中处处以初学者视角虑和分析问题,成为了当前很受欢迎的it技术图书作者之一。"

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

正版特价新书
此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP