《大话数据结构》PDF高清完整电子版百度云可下载

上期我们说到了“《华为数据之道》PDF高清完整电子版百度云可下载”,本期我们说说《大话数据结构》PDF高清完整电子版百度云可下载。

《大话数据结构》PDF高清完整电子版百度云可下载

  编辑的话

  2008年,一本特立独行的IT技术图书《大话设计模式》横空出世,开创了一种新派技术图书风格,横扫各大排行。

  作者程杰并没有满足这个成绩,耗时3年潜心创作了另外一本同样是程序员基础的著作——《大话数据结构》,不出意外地好评如潮。

高清电子书下载(非 勉 费 )请联系微信:yefei147852
高清电子书下载(非 勉 费 )请联系微信:yefei147852

  直到,这两本书仍然常驻各大排行。作为本土原创图书,这个成绩简直不可思议——印象里只有国外经典技术图书具备如此强的生命力。

  虽然在这十几年里程杰兄未再动笔,但依然与我保持着密切联系。非常荣幸的是,在这本新作中,我依然是他的编辑。

  十几年来,IT技术已经有了翻天覆地的变化,当年的桌面程序基本都迁移到了当前的互联网和移动端上,以至人工智能、深度学习,开发语言也从当初C、Java为主力语言变成如今包治百病的Python,我作为一个IT编辑,回顾起来其实还挺有意思的。

  关于《大话数据结构【溢彩加强版】》的代码语言,确实跟程杰有过小小的争执,我建议换Python,程杰还是坚持用C。他的理由是:讲解数据结构,还是得用*干净纯粹的通用经典计算机语言,虽然Python很灵动,正是这种灵动,有时在解析数据结构的时候显得不够严肃和“正统”,而程序员的基础必修课,必须要一拳一脚地养成规范的动作习惯。

  数据结构在某种程度上和设计模式类似,都是前辈的武功套路。不同的是,设计模式是近几十年卓越程序员的智慧结晶,而数据结构是几百上千年无数科学家、数学家的智慧沉淀,具有更加深厚的背景。

  大家知道,程序是利用计算机的高速运算能力来协助我们处理一些需要海量运算得出结果的问题,花哨的界面和良好的用户体验背后,是无数计算机强大的算力得出我们需要的结果——无论是气象预报还是扫脸支付。

  一台计算机的CPU运算能力是固定的,只会机械地接收程序的指令,所以,算法的优劣就决定了程序设计水平的高低(关于计算机硬件的运算原理和流程,这里一《大话数据结构【溢彩加强版】》——《大话计算机》【清华大学出版社】)。举个简单的例子,数据库性能优化这个工作,收费是按照小时来计算的,有个段子,真实性无从考证:水平高的每小时可以达到30万美金。为什么会值这么多钱?有价值吗?本质上讲这就是算法的力量,使用的算法可以在为企业节省海量的硬件投入同时带来巨大的效率提升——比如之前需要100台小型机,优化之后只需要10台就够了;之前生成一个数据需要1分钟出来结果,优化之后1秒钟就够了……这对于企业来说,节省的成本可就远远不止投入的几十上百万元的优化费用了。当然,数据库优化有很多算法优化之外的技术,但是如果优化结果发生了质变,那一定主要是算法的功劳。

  国内外的程序员很多是数学专业出身,也在一定程度上说明了这个问题。很多程序员被戏称为“码农”——一种流水线机械作业的工种,至今此工种仍大量存在。可以预见的是,随着软件开发集成度的提高和AI技术的发展,“码农”会大量减少,未来的软件开发需要的是“软件架构师”和“算法工程师”,无论走哪条路线,算法都是重中之重。可以说,算法基础不牢靠,职业生涯不牢靠。(关于这个话题,再一《大话数据结构【溢彩加强版】》——《大话软件工程》【清华大学出版社】)我们的程序员因为在受教育的过程中,由于种种原因,数据结构和算法的基本功通常要差一些,等从业以后想再补课又缺乏好的,或者说适合自学的教材。数据结构不是说没有教材,比如《数据结构》(严蔚敏清华版)、《算法导论》(机工版)这样的经典著作我们*不能说不好,但是作为自学,实在是有点难啃。

  《大话数据结构【溢彩加强版】》延续了前作轻松调侃的风格,采用了师生对话的方式展开讨论,其中穿插了大量“接地气”的类比案例,帮助大家迅速“开窍”,在我的建议下,程杰精心将《大话数据结构【溢彩加强版】》图表制作成彩色,阅读起来你会发现,不仅仅是养眼,对一些流程、概念的解说,用彩色图表更为精准,学习体验有了质变。

  感谢程杰这样的作者真诚地将自己的感悟奉献出来。与作者的用心相比,作为策划编辑付出的劳动就不值得一提了。这里真心希望读者可以从书中找到需要的东西,也希望国内更多高人涌现出来,为读者创作更适合中国人阅读的科技图书。

  清华大学出版社

  栾大成

  基本信息

  商品名称:大话数据结构 溢彩加强版开本:16开作者:程杰定价:119.00

  ISBN号:9787302564713出版时间:2021-01-01出版社:清华大学出版社印刷时间:2020-09-27版次:1印次:1

  目?录

  章?数据结构绪论 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

  高斯在上小学的一天,老师要求每个学生都计算1 2 … 100的结果,谁先算出来谁先回家……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

  求100个人的高考成绩平均分与求全省所有考生的成绩平均分在占用时间和内存存储上有非常大的差异,我们自然追求率和低存储的算法来解决问题。

  2.6.1?正确性 21

  2.6.2?可读性 21

  2.6.3?健壮性 21

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

  2.7 算法效率的度量方法 22

  随着n值越来越大,它们在时间效率上的差异也就越来越大。好比有些人每天都在学习,而有些人,打打游戏、睡睡大觉,毕业后前者名企争着要,后者求职处处无门。

  2.7.1?事后统计方法 22

  2.7.2?事前分析估算方法 23

  2.8 函数的渐近增长 25

  2.9 算法时间复杂度 27

  理解大O阶推导不算难,难的其实是对数列的一些相关运算,这考查的更多是数学知识和能力。

  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

  事先建立一个有2050个元素的数组,然后把所有年份按下标数字对应,如果是闰年,此数组项的值就是1,如果不是就是0。这样,所谓的判断某一年是否是闰年就变成了查找这个数组的某一项的值是多少的问题。

  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 单链表结构与顺序存储结构的优缺点 613.12 静态链表 62

  对于一些语言,如Basic、Fortran等早期的编程语言,由于没有指针,这链表结构,按照前面我们的讲法,它就没法实现了。怎么办呢?

  3.12.1?静态链表的插入操作 64

  3.12.2?静态链表的删除操作 65

  3.12.3?静态链表的优缺点 67

  3.13 循环链表 67

  这个轮回的思想很有意思。它强调了不管你今生是穷是富,如果持续行善积德,下辈子就会好过,反之就会遭到报应。

  3.14 双向链表 70

  就像每个人的人生一样,欲收获就得付出代价。双向链表既然是比单链表多了如可以反向遍历查找等的数据结构,那么也就需要付出一些小的代价。

  3.15 总结回顾 72

  3.16 结尾语 73

  如果你觉得上学读书是受罪,假设你可以活到80岁,其实你多也就吃了20年苦。用人生四分之一的时间来换取其余时间的幸福生活,这点苦不算啥。

  第4章 栈与队列 75

  4.1 开场白 76

  想想看,在你准备用枪的时候,突然这手枪明明有子弹却打不出来,这不是要命吗。

  4.2 栈的定义 76

  类似的很多软件,比如Word、Photoshop等,都有撤销(undo)的操作,也是用栈这种思想方式来实现的。

  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

  当你往镜子前面一站,镜子里面就有一个你的……《大话数据结构【溢彩加强版】》以一个计算机教师的教学过程为场景,讲解数据结构和相关算法的知识。全书以趣味方式来叙述,大量引用各种各样的生活知识来类比,并充分运用全彩色图形语言来解读抽象内容,对数据结构所涉及的一些经典算法做出逐行分析、多算法比较。与同类图书相比,《大话数据结构【溢彩加强版】》内容有趣易读,算法讲解细致深入,是一本非常适合自学的读物。

  对于学习数据结构来说,难点之一是对相关算法的理解。《大话数据结构【溢彩加强版】》创新性地采用全彩印刷,图表、流程、代码等内容结合色彩来重新进行约定和归纳,使得对一些难以理解的知识点的解析更加清晰顺畅,极大提升了阅读体验。

  《大话数据结构【溢彩加强版】》主要内容包含:数据结构介绍、算法推导大O阶的方法;顺序结构与链式结构差异、栈与队列的应用;串的朴素模式匹配、KMP模式匹配算法;二叉树前中后序遍历、哈夫曼树及应用;图的深度、广度遍历;小生成树两种算法、短路径两种算法;拓扑排序与关键路径算法;折半查找、插值查找、斐波那契查找等静态查找;稠密索引、分块索引、倒排索引等索引技术;二叉排序树、平衡二叉树等动态查找;B树、B 树技术,散列表技术;冒泡、选择、插入等简单排序;希尔、堆、归并、快速等改进排序。

  《大话数据结构【溢彩加强版】》适合学过一门编程语言的各类读者,包括在读的大中专计算机专业学生、想转行做开发的非专业人员、欲考计算机专业研究生的应届生或在职人员,以及工作后需要补学或温习数据结构和算法的程序员等。

  ……

  程杰,一个被读者誉为很适合写IT技术书的家伙。

  著有 《大话设计模式》(简体版销量破25万册、繁体版印刷12次,开创了一种适合国人阅读的趣味讲解IT知识的风格与模式)。

  作者参与过政府、证券、游戏、交通等多种行业的软件开发及项目管理工作,也曾做过软件培训的教师,目前从事教育类APP/微信小程序的开发与运营。因为有过两年半高中数学教学的独特经历,使得其书作当中处处以初学者视角考虑和分析问题,成为了当前很受欢迎的IT技术图书作者之一。

未经允许不得转载:我的生活分享 » 《大话数据结构》PDF高清完整电子版百度云可下载

赞 (0) 打赏

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏