交大ACM班团队出品,动手学数据结构!

 Datawhale发布 

团队:上海交大ACM班,文末送书

最近,被称为中国AI人才界“黄埔军校”的上海交大ACM班俞勇教授团队推出了一本重量级新书——《动手学数据结构与算法》。这不是一本普通的数据结构与算法教程,它以“火车票管理系统”贯穿本书在学习完一个知识点后,火车票系统的相应功能模块也随之得以实现。

c0ec53dc329724a4f9ac4ddeae15a547.png

01

上海交大 ACM 班到底有多牛?

上海交大 ACM 班到底有多彪悍?看看它的杰出校友们吧。

科研领域有在斯坦福任教的杨笛一,有在加州大学担任助理教授的李磊,有在卡耐基梅隆大学任教的陈天奇,他也是 XGBoost 作者、TVM发起人。企业界则有依图科技联合创始人林晨曦,第四范式创始人戴文渊,英语流利说CTO胡哲人、饿了么高级副总裁罗宇龙。MXNet 的作者大神李沐,其所著的《动手学深度学习》更是诸多技术人的必读经典。前几天,李沐还回到母校,在ACM班上做了一场关于 LLM 和个人生涯的分享。

因此 ACM 班在业界享有中国 AI 人才的“黄埔军校”之称。了不起的成就背后是伟大的愿景,ACM 班的创立者俞勇教授一直在为培养中国的图灵奖得主而努力。颁发图灵奖的机构就是 ACM(美国计算机协会),可见俞勇教授给 ACM 班取名时就寄予了多么深切的期望。

318dc2ae568feaff8a20504316f67b69.png

(ACM 班总教头:俞勇教授)

自2002年成立以来,上海交通大学ACM班已经走过了20多个年头,无论是学术圈还是企业界,这个班级和从中走出的人物都享有盛誉。想知道他们为啥这么厉害?看看他们写的东西就知道了。

他们不仅自己牛,出的书也特别有料。

2021年,他们着手准备一套可以“动手学”的人工智能系列教材——新一代人工智能实战型人才培养系列教程,教材分阶段陆续推出,首发系列包含了《动手学强化学习》《动手学机器学习》《动手学自然语言理解》《动手学计算机视觉》《动手学博弈论》和《动手学数据结构与算法》等六本。这套教材面向的对象很广,包括计算机专业、人工智能专业和新工科专业的大学生,还有做科研的大学老师、科研机构的工作人员,以及想要转行到IT行业的人和自学者。这套教材不仅提供系统的理论知识,还注重实战操作,让学习者学完后能立即应用到实践中。

ebede1211da98a07b17157f2dac0a50d.png

(已出版的“动手学”图书均有颇高评分)

《动手学数据结构与算法》便是其中代表之一,是俞勇团队在上海交通大学ACM班长期的程序设计及数据结构的教学探索与实践经验中提炼出来的。它的目的在于边学边练边用、轻松理解及实现代码,帮助读者克服对编程的恐惧心理,让编程变得亲切和容易上手。这本书的出版,不仅是对上海交大ACM班教学模式和方法的一次分享,也是对全球人工智能教育领域的一次贡献。通过这本书,读者可以学习到实用的编程技巧。

9b2517ddbaca0ebefb720eb97b1528fc.png

02

弄懂数据结构与算法要学会什么

《动手学数据结构与算法》的写作方式很直接:问题先导,应用贯穿;描述简洁,代码其中。它从基础开始,全面介绍了数据结构和算法的基础知识,不仅讲解理论知识,还重点讲了怎么设计算法和写代码。它是一本注重实践教学的教材,特别适合想动手实践数据结构和算法的朋友们阅读。

怎么做到理论和实践并齐?

这本书有一个别出心裁的设计,全书共11章,知识点超多,但用一个火车票管理系统的案例串联起数据结构的各个概念、实现方法和应用场景。除了开头的介绍和最后的总结章节外,每章都按照“问题引入、定义与实现、简单应用、大型应用实现、小结与习题”的结构来安排。

35614dac9ff5ee5e616b7aa6efe1ffb0.png

每章都会先讲一下数据结构的基本概念,然后结合火车票管理系统的需要,具体讲解怎么用这些数据结构。书里根据火车票管理系统的数据特点和管理要求,为不同的数据类型挑选了合适的数据结构,并且用面向对象的方法,把数据管理的功能都封装成一个个的类,这样可以让整个系统更加清晰,用起来也更方便。

09ee01aef411430b962571adc3019010.png

比如,第1章就拿火车票管理系统这个大项目来开场,先带大家认识数据结构的基础概念,逻辑结构、存储结构、操作定义和操作实现等。同时,也会讲到算法分析、时间复杂度、空间复杂度等。此外,还会介绍火车票管理系统需求分析、系统构成和涉及的数据管理类。

cbfb6e9a84bb01419b15c57d5255e437.png

读完这本书,你将掌握线性表、队列与栈、树与优先级队列、集合与静态查找表、动态查找表、排序、外部查找与排序、图、最小生成树与最短路径、算法设计思想等。这些知识会帮你把理论用到实际中,无论是写代码实现数据结构,还是开发火车票管理系统,都能游刃有余。这样一来,你就能为深入学习更专业的课程打下坚实的基础。

现在,你已经知道要学哪些内容了,下一步就是怎么去学它们。

03

数据结构与算法,实操为王

数据结构和算法这门课,实操是关键。我们平时学习的难点不在于理论难懂,而是在于如何设计算法和编写代码。市面上的教材虽然用各种生动的方式来讲解,但往往忽略了实操的难点。这本书就是来填补这个空缺,帮助学生在学理论的同时,也能动手实践。

本书包括纸质图书与电子资源两部分。

纸质书里有:

硬核知识:定义了数据结构,教你怎么实现它们,还有从简单到复杂的应用代码。

ceace81b88238ab647632d760bf6127d.png

练习挑战:来测试一下自己,别只学个皮毛,题目全都要掌握。本书提供了习题答案和教学PPT,让你学习无忧。

980221ae491e9b54b7e75e8edc6cd0e4.png

a5b9e6d08483a89d466743a91f5a7ed6.png

图解示例:提供丰富的图示,让你更直观地理解每个概念。

f0d5aa9f34da309f7e0431cf8b0a5ffe.png

想要更多学习体验?那就看看我们额外提供的电子资源。

包括三部分——视频课程、动手练平台与电子资料仓库,均可通过http://hds.boyuai.com访问,动手练平台与电子资料仓库的具体使用方法参见附录B。

团队精心制作了在线课程,只需在书中找到“扫码看视频”,用手机一扫,会有视频讲解。

abfe87bbc6f4c038d590bcc5d2bc2e0a.png

书中提供实践平台和资料库,包含辅助材料和代码,帮你边学边练。

每章的理论知识和代码实践紧密结合,读者学完一个概念后,马上就能通过写代码来实践它。最棒的是,读者可以直接在网上运行和修改代码,一边学习数据结构的原理,一边练习编程。

86144b4aade8e829e4673cb69cfcf1c2.png

这种学习方式不仅帮助读者把学到的知识和实践结合起来,还能让老师在教学、布置作业和批改作业时更加高效。

09bab99f4751c96b29a2358f4b47d954.png

无论是纸质书还是电子资源,根据需求选择,按照自己的节奏来学习。

读者可以根据自己的兴趣和需求,挑选纸质书或电子资源来学习。如果你只想了解数据结构的基本概念,不想深入代码实现,那就只看文字部分;如果你已经懂了算法,只想动手写代码,那就直接使用动手练平台与电子资料仓库,专注于代码实现。

4324d9c9eaf2699eb533411f990178b4.png

04

总结一下本书亮点

最后,总结一下这本书的亮点:

①以大型应用中的实际场景作为问题引入,使读者在学习知识点前体验“有用”;

②为各类数据结构配备完整的代码实现,使读者能将理论与实践相联系,更真切地感受 “好用”;

③完整地实现数据结构中公认最烦琐的B+树,使读者消除恐惧,领略“可用”;

④以大型应用的实现贯穿本书所有章节,使读者在了解知识点的同时亲历“实用”。

这么有用、好用、可用、实用的一本书,值得一读!

最后,为了感谢各位读者的一直以来的支持,在Datawhale送出5本《动手学数据结构与算法》,依然是老规矩:评论区留言并点赞数前五的读者将直接送书。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值