数据结构与算法第二部分 | Data Structures and Algorithms Part 2

来自于: 北京大学 | 分类: 计算机(651)

课程描述

这门课程将帮助学生学习如何运用数据结构和算法解决复杂的实际问题。

什么是认证证书?
免费学习
认证学习
名师签名
实名认证
权威性
纸质证书
付费购买
免费赠送

课程简介

计算机是现代社会中解决问题的重要工具。利用计算机解决实际问题需要将问题抽象,并对数据进行操作,最后通过计算机程序解决问题。而本门课程的主要内容就是对以上问题进行研究。 图灵奖获得者N.Wirth写了一本经典著作“程序=算法+数据结构”。数据结构,是抽象的表示数据的方式;算法,则是计算中一系列有效、通用的步骤。算法与数据结构是程序设计中相辅相成的两个方面。 我们会围绕着“算法+数据结构=程序”的思路,以问题求解为导向进行学习。希望能够帮助大家提高理论、抽象、设计的能力。在扎实的经典理论基础上,运用问题 抽象、数据抽象、算法抽象来分析问题,应用适当的数据结构和算法来设计和实现相应的程序。通过课程学习,大家的抽象思维能力、问题解决能力将得到较大提 升,编程能力和代码质量会有质的飞跃! 在求解实际问题方面,我们会学习到通过权衡时空和其他资源开销,利用数据结构来组织数据、设计高效的算法、完成高质量的程序以满足错综复杂的实际应用需要。 此外,课程所学到的内容会被利用到计算机科学后续的各个课程中,如操作系统、软件工程、数据库概论、编译技术、计算机图形学、人机交互等。希望可以为大家将来从事计算机相关的学习、研究和开发工作打下扎实的基础。 本课程采用张铭主编的国家“十一五”规划教材《数据结构与算法》(高等教育出版社)。适合计算机以及相关理工专业的大二本科生学习,需要先修过计算概论等课程,具有结构化和面向对象的程序设计基础。 在 第一部分学完了线性表、栈与队列、字符串、二叉树、树和图这些基础数据结构之后,第二部分我们将深入学习排序、检索、索引、高级数据结构以及数据结构应用 等内容。涉及快速排序、外排序等各种经典排序算法,集合、散列、位图等检索方法,B/B+树、Trie树等索引结构,广义表、多维数组等高级线性结 构,AVL、红黑树、伸展树等平衡二叉树。第二部分课程持续8周,学习者每周在本课程上需要投入4-8小时。本课程的本次开设得到Google研究经费支 持。 课程采用的算法语言? Which programming languages does the course use? 本课程采用基于C++的伪代码授课和出习题。编程作业是POJ自动评判的,该平台目前接受 C、C++、Java等都可以。

展开

课程章节

授课教师

  • 张铭 Ming Zhang 北京大学

    张铭,北京大学信息科学技术学院教授,ACM Education Council惟一的中国委员兼任中国ACM教育专委会主席。自1984年考入北京大学,分别获得学士、硕士和博士学位。研究方向为文本挖掘、社会网络分析等,目前主持国家自然科学基金和教育部博士点基金两项在研项目,合作发表学术论文100多篇(不乏TKDE、ICML、KDD、AAAI、ACL、WWW等A类会议和期刊),出版学术专著1部,获软件著作权6项,获发明专利3项。主编多部教材,其中2部教材为国家“十一五”规划教材,《数据结构与算法》获北京市精品教材奖并得到国家“十二五”规划教材支持。发表教学论文18篇,主持的“数据结构与算法”被评选为国家级和北京市级精品课程。

精华笔记

精华笔记正在评选中,去看看全部笔记

常见问题

目前还没有常见问题哟!