数据结构与算法(Python语言实现)
本书的**特点是高标准的实践性。对95%的数据结构和算法给出了完整可运行的代码。例题和编程习题,都可以在北京大学openjudge平台上提交程序并自动评判对错。

作者:郭炜

丛书名:21世纪大学本科计算机专业系列教材

定价:59元

印次:1-1

ISBN:9787302678724

出版日期:2025.02.01

印刷日期:2025.02.11

图书责编:张瑞庆

图书分类:教材

电子书
在线购买
分享
内容简介
作者简介
前言序言
资源下载
查看详情 查看详情 查看详情

"本书内容全面、细致、通俗易懂,涵盖线性表、栈和队列、树和二叉树、堆、哈夫曼树、并查集、AVL树、红黑树、B树和B+树、串、图、哈希表等数据结构,以及枚举、二分、递归、分治、动态规划、深搜、广搜、最短路、最小生成树、拓扑排序、关键路径、内外排序等算法。 对各类数据结构和算法,不但要掌握理论,还应熟练地编程实现。本书的**特点是高标准的实践性。除了少数几个特别复杂的数据结构外,其余数据结构和算法,都给出了完整可运行的代码,并且这些代码几乎都出现在具体的例题中。 本书的例题和编程习题,可以在北京大学在线程序评测平台OpenJudge上提交解题程序并自动评判对错。 本书内容和习题按难度做了明确分级,因此不论高等学校计算机专业还是非计算机专业的师生,都可以从中各取所需用于教学。本书既可以用作高等学校数据结构和算法的入门教材,又可以作为考研、找工作面试的秘籍,还可以用于程序设计竞赛的基础培训。 "

郭炜,北京大学信息科学技术学院教师。曾担任北京大学ACM大学生程序设计竞赛队教练10年。在中国大学MOOC独立开设的《程序设计与算法》系列课程获评国家精品在线开放课程。在华文慕课和另一教师合开的《程序设计实习》获评国家精品在线开放课程。编著有《新标准C++程序设计》、 《Python程序设计基础及实践(慕课版)》、《新标准C++程序设计》、 《Python程序设计基础及实践(慕课版)》、《算法基础与在线实践》、《ACM国际大学生程序设计竞赛亚洲区预选赛真题题解》 等教材。

前言FOREWORD 目前,程序设计课程在中学已经较为普及,在许多大学更是理科生的必修课。社会上的编程培训班也十分流行。许多没有经过系统的计算机专业学习的学生,经过培训后掌握一两门语言,学会一些前端或后端应用的开发技能,虽然理论基础薄弱,也能求得一份程序员的职位。 然而,要成为一名优秀的程序员,有一门课是没有捷径可以绕过去的,那就是“数据结构与算法”。优秀的公司是不会放心将重要的任务交给不懂数据结构和算法的程序员的,因为那些程序员没有效率的观念,一不小心就可能写出肆意挥霍计算资源的程序,让公司付出真金白银的代价。例如,低效的后端导致公司需要购买更多的服务器才能提供服务,甚至导致系统在访问量大时崩溃。如果有程序员信誓旦旦地说他的工作不需要用到数据结构和算法,那多半是因为他的水平不足以使他接触到需要数据结构和算法的任务。 总之,计算机专业的学习者需要掌握好数据结构与算法自不必说,非计算机专业的人士,不论是打算转行,还是已经转行做了程序员,都应该学好这门课。即便不做程序员,如果经常需要用编程来解决工作中的问题,学习这门课也是大有裨益的。因此,北京大学将“数据结构与算法”设置为所有理科生的必修课。 作者在北京大学讲授“Python程序设计”课程以及“数据结构与算法”“数据结构与算法实习”课程多年,并曾担任北京大学ACM国际大学生程序设计竞赛队教练9年。作者讲授的这些课程,既有面向非计算机专业的,也有面向计算机专业的。本书即是对这些课程教学经验的归纳与整合。 同类课程或教材,有些只是名为“数据结构”,而非“数据结构与算法”,它们在内容上和本书并无很大区别。实际上,数...

暂无课件

样章下载

暂无网络资源

扫描二维码
下载APP了解更多

目录
荐语
查看详情 查看详情
目录CONTENTS

第1章绪论1

1.1算法和算法分析1

1.1.1什么是算法1

1.1.2算法的时间复杂度及其表示法3

1.2数据结构6

1.2.1数据的逻辑结构6

1.2.2数据的存储结构7

1.2.3数据结构上的操作8

小结8

习题8

第2章Python语言巩固与提高10

2.1一些Python语言操作的时间复杂度10

2.2函数11

2.2.1lambda表达式11

2.2.2高阶函数和闭包12

2.2.3global变量和nonlocal变量13

2.2.4函数参数的默认值14

★2.2.5生成器(电子文档)14

2.3面向对象程序设计15

2.3.1类和对象15

2.3.2对象的比较18

2.3.3迭代器19

2.3.4类的特殊方法21

习题23

第3章线性表26

3.1顺序表26

3.2链表29

3.2.1单链表29

3.2.2循环单链表33

3.2.3双链表33

3.2.4静态链表37

3.3顺序表和链表的选择37

小结38

习题39

第4章枚举与二分法40

4.1枚举40

4.1.1案例: 八皇后问题(P0070)40

4.1.2案例: 特殊密码锁(P0090)41

4.2二分法43

4.2.1案例: 网线主管(P0120)43

★4.2.2案例: 好斗的牛(P0130)45

小结46

习题46

第5章递归和分治49

5.1用递归进行枚举50

5.1.1案例: N皇后问题(P0230)50

5.1.2案例: 全排列(P0240)52

5.2解决用递归形...

"本书是作者在多年北京大学教学实践基础上编著的一本全面、细致、通俗易懂的数据结构和算法教材。“数据结构与算法”是理论和实践必须紧密结合的课程。对各类数据结构和算法,不但要掌握其理论,还应该能够熟练地编程实现。相比大多数数据结构和算法教材,本书的**特点就是高标准的实践性。除了少数几个特别复杂的数据结构,95%的数据结构和算法,都给出了完整可运行的代码,一共120余份,并且这些代码几乎都出现在具体的例题中。
本书的例题和编程习题,都可以在北京大学在线程序评测平台openjudge上提交解题程序并自动评判对错。
本书内容和习题按难度做了明确分级,因此不论计算机专业、还是非计算机专业的师生,都可以从中各取所需用于教学。既可以作为数据结构和算法入门教材,又可以作为考研、找工作面试的提高秘籍。"