


作者:程杰
定价:119元
印次:1-9
ISBN:9787302564713
出版日期:2020.12.01
印刷日期:2026.03.24
图书责编:栾大成
图书分类:零售
《大话数据结构【溢彩加强版】》以一个计算机教师的教学过程为场景,讲解数据结构和相关算法的知识。全书以趣味方式来叙述,大量引用各种各样的生活知识来类比,并充分运用全彩色图形语言来解读抽象内容,对数据结构所涉及的一些经典算法做出逐行分析、多算法比较。与同类图书相比,《大话数据结构【溢彩加强版】》内容有趣易读,算法讲解细致深入,是一本非常适合自学的读物。 对于学习数据结构来说,难点之一是对相关算法的理解。《大话数据结构【溢彩加强版】》创新性地采用全彩印刷,图表、流程、代码等内容结合色彩来重新进行约定和归纳,使得对一些难以理解的知识点的解析更加清晰顺畅,极大提升了阅读体验。 《大话数据结构【溢彩加强版】》主要内容包含:数据结构介绍、算法推导大O阶的方法;顺序结构与链式结构差异、栈与队列的应用;串的朴素模式匹配、KMP模式匹配算法;二叉树前中后序遍历、哈夫曼树及应用;图的深度、广度遍历;最小生成树两种算法、最短路径两种算法;拓扑排序与关键路径算法;折半查找、插值查找、斐波那契查找等静态查找;稠密索引、分块索引、倒排索引等索引技术;二叉排序树、平衡二叉树等动态查找;B树、B+树技术,散列表技术;冒泡、选择、插入等简单排序;希尔、堆、归并、快速等改进排序。 《大话数据结构【溢彩加强版】》适合学过一门编程语言的各类读者,包括在读的大中专计算机专业学生、想转行做开发的非专业人员、欲考计算机专业研究生的应届生或在职人员,以及工作后需要补学或温习数据结构和算法的程序员等。
程杰,一个被读者誉为很适合写IT技术书的家伙。 著有 《大话设计模式》(简体版销量破25万册、繁体版印刷12次,开创了一种适合国人阅读的趣味讲解IT知识的风格与模式)。 作者参与过政府、证券、游戏、交通等多种行业的软件开发及项目管理工作,也曾做过软件培训的教师,目前从事教育类APP/微信小程序的开发与运营。因为有过两年半高中数学教学的独特经历,使得其书作当中处处以初学者视角考虑和分析问题,成为了当前很受欢迎的IT技术图书作者之一。
前?言 本书起因 大家好!我是《大话设计模式》(2008年出版)的作者,多年来,承蒙广大读者的厚爱,《大话设计模式》取得了较大的成功。成为当当网终身推荐五星图书,截至本文写作时,销量已经突破30万册,成为国内众多程序员的启蒙书籍之一。 对于这样一件自己喜欢做、可以做得好,而且已经得到了市场广泛认可,为很多朋友提供帮助的事情,我没有理由不继续做下去。这就是我准备再写书的原因。 我曾做过调查,数据结构的学习者大多都有这样的感慨:数据结构很重要,一定要学好,但数据结构比较抽象,有些算法理解起来很困难,学得很累。可我更希望传达这样的信息:数据结构非常有趣,很多算法是智慧的结晶,学习它是去感受计算机编程技术的魅力,在理解掌握它的同时,整个过程都是一种愉悦的心情感受,而非枯燥乏味的一门课程。因此我决定写作一本关于数据结构的有趣的书。 不过现实总比理想来得更“现实”。要想把书写好,谈何容易,我需要突破很多困难……嗐!不管如何,现在您看到了本书,那就说明我已经克服了困难战胜了自己。希望您可以喜欢上这本书。 本书定位 本书的定位是适合读者自学数据结构的书籍,它又区别于教材,希望带给大家另一种阅读体验。 通常讲解数据结构的图书都是以教材的方式呈现。在写作前,我购买或在图书馆借阅了十几本非常好的数据结构相关的教材用来为写作本书做准备。但经过认真阅读后,我发现,它们大多不是一本好的“自学”读物。 我没有轻视这些好书的意思,不过教材和自学读物,所面向的读者是完全不同的。 好的教材应该是提纲挈领、重点突出,一定要留出思考的空间,否则就没必要再听老师上课了。很多内容的讲解是由老师在课堂完...
第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
现实世界中的... 查看详情
编辑的话
2008年,一本特立独行的IT技术图书《大话设计模式》横空出世,开创了一种新派技术图书风格,横扫各大排行。
作者程杰并没有满足这个成绩,耗时3年潜心创作了另外一本同样是程序员基础的著作——《大话数据结构》,不出意外地好评如潮。
直到今天,这两本书仍然常驻各大排行。作为本土原创图书,这个成绩简直不可思议——印象里只有国外经典技术图书具备如此强的生命力。
虽然在这十几年里程杰兄未再动笔,但依然与我保持着密切联系。非常荣幸的是,在这本新作中,我依然是他的编辑。
十几年来,IT技术已经有了翻天覆地的变化,当年的桌面程序基本都迁移到了当前的互联网和移动端上,以至人工智能、深度学习,开发语言也从当初C、Java为主力语言变成如今包治百病的Python,我作为一个IT编辑,回顾起来其实还挺有意思的。
关于《大话数据结构【溢彩加强版】》的代码语言,确实跟程杰有过小小的争执,我建议换Python,程杰还是坚持用C。他的理由是:讲解数据结构,还是得用最干净纯粹的通用经典计算机语言,虽然Python很灵动,正是这种灵动,有时在解析数据结构的时候显得不够严肃和“正统”,而程序员的基础必修课,必须要一拳一脚地养成规范的动作习惯。
数据结构在某种程度上和设计模式类似,都是前辈的武功套路。不同的是,设计模式是近几十年卓越程序员的智慧结晶,而数据结构是几百上千年无数科学家、数学家的智慧沉淀,具有更加深厚的背景。
大家知道,程序是利用计算机的高速运算能力来协助我们处理一些需要海量运算得出结果的问题,花哨的界面和良好的用户体验背后,是无数计算机强大的算力得出我们需要的结果——无论是气象预报还是扫脸支付。
一台计算机的CPU运算能力是固定的,只会机械地接收程序的指令,所以,算法的优劣就决定了程序设计水平的高低(关于计算机硬件的运算原理和流程,这里推荐一《大话数据结构【溢彩加强版】》——《大话计算机》【清华大学出版社】)。举个简单的例子,数据库性能优化这个工作,收费是按照小时来计算的,有个段子,真实性无从考证:水平高的每小时可以达到30万美金。为什么会值这么多钱?有价值吗?本质上讲这就是算法的力量,使用优秀的算法可以在为企业节省海量的硬件投入同时带来巨大的效率提升——比如之前需要100台小型机,优化之后只需要10台就够了;之前生成一个数据需要1分钟出来结果,优化之后1秒钟就够了……这对于企业来说,节省的成本可就远远不止投入的几十上百万元的优化费用了。当然,数据库优化有很多算法优化之外的技术,但是如果优化结果发生了质变,那一定主要是算法的功劳。
国内外优秀的程序员很多是数学专业出身,也在一定程度上说明了这个问题。很多程序员被戏称为“码农”——一种流水线机械作业的工种,至今此工种仍大量存在。可以预见的是,随着软件开发集成度的提高和AI技术的发展,“码农”会大量减少,未来的软件开发需要的是“软件架构师”和“算法工程师”,无论走哪条路线,算法都是重中之重。可以说,算法基础不牢靠,职业生涯不牢靠。(关于这个话题,再推荐一《大话数据结构【溢彩加强版】》——《大话软件工程》【清华大学出版社】)
我们的程序员因为在受教育的过程中,由于种种原因,数据结构和算法的基本功通常要差一些,等从业以后想再补课又缺乏好的,或者说适合自学的教材。数据结构不是说没有优秀教材,比如《数据结构》(严蔚敏清华版)、《算法导论》(机工版)这样的经典著作我们****说不好,但是作为自学,实在是有点难啃。
《大话数据结构【溢彩加强版】》延续了前作轻松调侃的风格,采用了师生对话的方式展开讨论,其中穿插了大量“接地气”的类比案例,帮助大家迅速“开窍”,在我的建议下,程杰精心将《大话数据结构【溢彩加强版】》图表制作成彩色,阅读起来你会发现,不仅仅是养眼,对一些流程、概念的解说,用彩色图表更为精准,学习体验有了质变。
感谢程杰这样的优秀作者真诚地将自己的感悟奉献出来。与作者的用心相比,作为策划编辑付出的劳动就不值得一提了。这里真心希望读者可以从书中找到需要的东西,也希望国内更多高人涌现出来,为读者创作更适合中国人阅读的优秀科技图书。
清华大学出版社
栾大成

