About this Course
4.3
88 ratings
13 reviews
Specialization
100% online

100% online

Start instantly and learn at your own schedule.
Flexible deadlines

Flexible deadlines

Reset deadlines in accordance to your schedule.
Hours to complete

Approx. 31 hours to complete

Suggested: 每周4-8小时...
Available languages

Chinese (Simplified)

Subtitles: Chinese (Simplified)
Specialization
100% online

100% online

Start instantly and learn at your own schedule.
Flexible deadlines

Flexible deadlines

Reset deadlines in accordance to your schedule.
Hours to complete

Approx. 31 hours to complete

Suggested: 每周4-8小时...
Available languages

Chinese (Simplified)

Subtitles: Chinese (Simplified)

Syllabus - What you will learn from this course

Week
1
Hours to complete
4 minutes to complete

欢迎来到高级数据结构与算法

学习了基本的数据结构后,我们已经可以用程序来解决现实中的一些问题了。但是,怎样提升程序在运行效率呢? 如何快速地把图书按序号从小到大整理好?如何通过一个ID编号在数据库中高效地查找相对应的信息?如何迅速找到所有内容中含有“数据结构”的文档?《高级数据结构与算法》将通过使用高级的数据结构和高效的算法,让你学会如何解决这些对运行时间要求比较严格的问题。 高级数据结构和算法能够根据实际情况,满足一些复杂问题对数据规模、运行时间的要求,帮助我们更有效地解决问题。当我们面对实际问题的时候,高级数据结构和算法让我们有更广泛的空间,选择出与问题本身最为契合的数据结构,并利用相关算法来提升运行效率。 完成这门课之时,你将掌握多维数组、广义表、Trie树、AVL树、伸展树等高级数据结构,并结合内排序、外排序、检索、索引有关的算法,高效地解决现实生活中一些比较复杂的应用问题。合理使用这些高级数据结构和相关算法是程序运行效率的关键因素,学好这门课会让你在之后的计算机专业课程以及项目设计中更得心应手,同时也将让你站在更高的角度去理解问题、设计程序。PS:我们这门课程一直处在不断地建设与优化当中,吸取了很多以往课程的经典视频,所以如果你看到视频中出现了不同课程的名字,也不要惊讶哦,因为你正在集百家所长:)...
Reading
2 videos (Total 4 min)
Video2 videos
本门课程介绍1m
Week
2
Hours to complete
4 hours to complete

内排序(上)

生活中,排序操作无处不在,列队出操的时候,需要让同学们从矮到高依次站好,举行运动会的时候,会把每位运动员的成绩从高到低排序。在计算机的存储结构中,分为内存和外存,前者相对后者来说速度快、容量小,因此,当整个排序过程中所有的记录都可以直接放入内存中时,我们称之为内排序。可以按照什么策略来进行排序?每种排序算法的时间代价是多少?这一模块中,你将会学到三种类型的排序算法:插入排序、选择排序和交换排序,并了解到各个算法的稳定性和时间代价。重点:排序问题的基本概念,时间和空间复杂度分析(比较次数和移动次数,一个swap操作是3次移动);直接插入排序、Shell排序、直接选择排序、堆排序、冒泡排序、快速排序的实现。难点:快速排序的实现及其优化、时间复杂度分析。PS:我们这门课程一直处在不断地建设与优化当中,吸取了很多以往课程的经典视频,所以如果你看到视频中出现了不同课程的名字,也不要惊讶哦,因为你正在集百家所长:)...
Reading
4 videos (Total 52 min), 1 reading, 2 quizzes
Video4 videos
插入排序15m
选择排序8m
交换排序21m
Reading1 reading
内排序(上) 演示文稿10m
Quiz1 practice exercise
内排序(上)16m
Week
3
Hours to complete
5 hours to complete

内排序(下)

有些算法时间代价太大?有的时候可以根据数据本身的特性,或是排序的特殊要求,调整排序的策略。例如,现在要将一叠试卷按得分从高到低排序,假设老师只给了“合格”、“不合格”两种分数,相信你立马就能整理好。原因就在于你并不需要再去整理所有“合格”试卷的相对次序了。本模块中,你将会学习到归并排序、分配排序和索引排序,并了解它们各自的基本思想、适用范围和时间代价。 重点:归并排序及其优化、桶式排序、静态/链式基数排序的实现、地址索引排序的结果整理。 难点:归并排序的实现、排序问题的下限的决策树分析方法(了解即可)。...
Reading
6 videos (Total 86 min), 1 reading, 2 quizzes
Video6 videos
分配排序9m
静态基数排序15m
链式基数排序14m
索引排序14m
算法性能分析(基本掌握,不要求理论分析)17m
Reading1 reading
内排序(下) 演示文稿10m
Quiz1 practice exercise
内排序(下)14m
Week
4
Hours to complete
4 hours to complete

外排序

当待处理的数据对象非常多,以至于内存容纳不下所有数据时,如果我们仍旧按照内排序的算法进行排序,大量的I/O会使得时间代价非常大,那应该怎么办呢?一般我们需要将数据文件分成若干段,每次将一段放入内存中进行排序,得到一系列的顺串,最后通过逐趟归并顺串,形成对整个数据文件的排序文件。在这一模块中,你将学到如何让初始文件形成尽可能长的初始顺串、如何通过增加每次参与归并的顺串个数,来减少对数据扫描的趟数,从而减少访问外存次数提高排序效率。 重点:置换选择算法、二路归并算法、赢者树算法的基本思想和实现。 难点:败者树的类定义及其成员函数的实现。...
Reading
2 videos (Total 35 min), 1 reading, 2 quizzes
Video2 videos
外排序算法20m
Reading1 reading
外排序 演示文稿10m
Quiz1 practice exercise
外排序12m

Instructor

Avatar

Prof. Ming Zhang 张铭

教授
School of Electronics Engineering and Computer Science北京大学计算机系

About Peking University

Peking University is determined to make its education openly accessible to students in China and around the world. With over 3000 faculty members, Peking University offers excellence in teaching and learning. Founded in 1898, Peking University (PKU) was the first national comprehensive university in China. For the past 115 years, with its hundreds of thousands of outstanding alumni, Peking University has made prominent contributions in the humanities and sciences to further China's prosperity and progress....

About the 程序设计与算法 Specialization

本专项课程旨在系统培养你的程序设计与编写能力。系列课程从计算机的基础知识讲起,无论你来自任何学科和行业背景,都能快速理解;同时我们又系统性地介绍了C程序设计,C++程序设计,算法基础,数据结构与算法相关的内容,各门课之间联系紧密,循序渐进,能够帮你奠定坚实的程序开发基础;课程全部配套在线编程测试,将有效地训练和提升你编写程序的实际动手能力。并通过结业实践项目为你提供应用程序设计解决复杂现实问题的锻炼,从而积累实际开发的经验。因此,我们希望本专项课程能够帮助你完成从仅了解基本的计算机知识到能够利用高质量的程序解决实际问题的转变。...
程序设计与算法

Frequently Asked Questions

  • Once you enroll for a Certificate, you’ll have access to all videos, quizzes, and programming assignments (if applicable). Peer review assignments can only be submitted and reviewed once your session has begun. If you choose to explore the course without purchasing, you may not be able to access certain assignments.

  • When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. If you only want to read and view the course content, you can audit the course for free.

More questions? Visit the Learner Help Center.