Sorry, this page is no longer available
Sorry, this page is no longer available
Sorry, this page is no longer available
We may earn an affiliate commission when you visit our partners.
Course image
Prof. Ming Zhang 张铭

学习了基本的数据结构后,我们已经可以用程序来解决现实中的一些问题了。但是,怎样提升程序在运行效率呢?

如何快速地把图书按序号从小到大整理好?如何通过一个ID编号在数据库中高效地查找相对应的信息?如何迅速找到所有内容中含有“数据结构”的文档?《高级数据结构与算法》将通过使用高级的数据结构和高效的算法,让你学会如何解决这些对运行时间要求比较严格的问题。

高级数据结构和算法能够根据实际情况,满足一些复杂问题对数据规模、运行时间的要求,帮助我们更有效地解决问题。当我们面对实际问题的时候,高级数据结构和算法让我们有更广泛的空间,选择出与问题本身最为契合的数据结构,并利用相关算法来提升运行效率。

完成这门课之时,你将掌握多维数组、广义表、Trie树、AVL树、伸展树等高级数据结构,并结合内排序、外排序、检索、索引有关的算法,高效地解决现实生活中一些比较复杂的应用问题。合理使用这些高级数据结构和相关算法是程序运行效率的关键因素,学好这门课会让你在之后的计算机专业课程以及项目设计中更得心应手,同时也将让你站在更高的角度去理解问题、设计程序。

Enroll now

What's inside

Syllabus

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

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
深入讲解高级数据结构,如多维数组、广义表、Trie树、AVL树、伸展树,提升解决问题的能力。
涵盖检索、索引等算法,提高程序运行效率,满足复杂问题对数据规模和运行时间的要求。
Taught by Prof. Ming Zhang 张铭, who has extensive experience in data structures and algorithms
适合具有数据结构基础,想进一步提升编程能力的学习者。
通过课程学习,可以有效提高程序运行效率,提升实际问题解决能力。
课程提供了大量的代码示例和实践练习,帮助学习者巩固知识,提升动手能力。

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

深入掌握高级数据结构与算法

根据学生反馈,这门“高级数据结构与算法”课程提供了关于各种高级主题的扎实理论基础positive。许多学习者认为课程内容涵盖全面positive,特别是对于多维数组、广义表、Trie树、AVL树等重要数据结构neutral。课程深入讲解了多种排序和检索算法positive,帮助学生理解如何优化程序效率positive以应对大规模数据和严格的时间要求。部分评论提到课程对先修知识有一定要求warning,对于初学者可能感觉有挑战性warning。然而,对于已经掌握基础数据结构的学习者来说,这门课是进一步提升技能positive解决复杂问题positive宝贵资源positive。课程结构合理,期末考试neutral设计有助于巩固学习。
部分视频可能来自不同课程,风格不统一。
"像课程简介里提到的,确实发现有些视频似乎是不同风格的,但内容是衔接的。"
"视频的画面和声音质量偶尔会有些变化,能看出是整合了不同资源。"
"虽然视频来源不同,但讲解的内容质量是高的,只是观看体验上稍有影响。"
"一开始看到视频风格不同有点奇怪,后来习惯了,主要关注内容了。"
学习本课程有助于提升解决问题的效率。
"通过学习高级数据结构和算法,我学会了如何更高效地处理和检索数据。"
"课程中的算法分析部分非常实用,让我明白了如何评估程序的性能。"
"这些高级结构和算法是解决实际复杂问题的关键,这门课提供了重要的工具箱。"
"现在再看一些性能瓶颈问题,我知道可以从哪些高级数据结构入手去优化。"
课程涵盖了广泛的高级数据结构和算法。
"课程覆盖了多维数组、广义表、Trie树、AVL树、伸展树等,内容很丰富。"
"从内排序到外排序,再到各种检索和索引方法,课程体系构建得很好。"
"讲解了很多在实际开发中能遇到的高级数据结构类型,知识点比较全。"
"虽然有些地方稍显理论,但整体涵盖的知识面和深度是足够的。"
课程在高级数据结构理论方面讲解深入。
"这门课程的理论基础非常扎实,对很多高级数据结构和算法讲得很透彻。"
"课程内容全面,从多维数组到红黑树,都给出了详细的理论解释。"
"我对一些高级数据结构的概念一直很模糊,这门课清晰地阐释了它们的原理。"
"感觉这门课更侧重于算法和数据结构的理论理解,对我理解它们的内在机制很有帮助。"
课程难度较高,需要扎实的先修知识。
"课程难度比我想象的要高,特别是对外排序和红黑树的理解花了很多时间。"
"感觉这门课需要非常扎实的基础数据结构和算法知识,不然跟起来会比较吃力。"
"有些章节的理论性比较强,对于没有相关背景的同学来说,可能会感到有些困难。"
"我觉得这门课更适合有一定编程经验和理论基础的学生。"

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in 高级数据结构与算法 with these activities:
练习习题和LeetCode题目
通过解决习题和LeetCode题目,你可以巩固所学知识并提高解决问题的能力。
Show steps
  • 完成课后习题和编程练习
  • 选择难度适中的LeetCode题目进行练习
帮助其他同学学习高级数据结构
通过帮助其他同学学习,可以巩固自己的知识,加深对高级数据结构的理解。
Show steps
  • 主动回答其他同学的问题,并提供帮助。
  • 参与讨论区,帮助其他同学解决疑难问题。
  • 组织学习小组,与其他同学一起复习和练习。
Show all two activities

Career center

Learners who complete 高级数据结构与算法 will develop knowledge and skills that may be useful to these careers:
Software Engineer
Software Engineers design, develop, test, deploy, maintain, and manage software applications. This course would be helpful for those who wish to enter a career of Software Engineering. It provides knowledge and practice of data structures and algorithms, which are essential for building efficient and effective software. The course focuses on advanced data structures and algorithms, such as Trie trees, AVL trees, and伸展树, which are not typically covered in introductory computer science courses. This makes the course particularly relevant for those who wish to specialize in software engineering.
Data Scientist
Data Scientists use scientific methods to extract knowledge and insights from data, and solve real-world problems. This course may be useful for those who wish to enter a career as a Data Scientist. It provides knowledge and practice of data structures and algorithms, which are essential for managing and analyzing large datasets. The course focuses on advanced data structures and algorithms, such as Trie trees, AVL trees, and 伸展树, which are not typically covered in introductory computer science courses. This makes the course particularly relevant for those who wish to specialize in data science.
Quantitative Analyst
Quantitative Analysts use mathematical and statistical methods to analyze and interpret data, and make informed decisions. This course may be useful for those who wish to enter a career as a Quantitative Analyst. It provides knowledge and practice of data structures and algorithms, which are essential for managing and analyzing large datasets. The course focuses on advanced data structures and algorithms, such as Trie trees, AVL trees, and 伸展树, which are not typically covered in introductory computer science courses. This makes the course particularly relevant for those who wish to specialize in quantitative finance.
Information Security Analyst
Information Security Analysts protect computer networks and systems from unauthorized access, use, disclosure, disruption, modification, or destruction. This course may be useful for those who wish to enter a career as an Information Security Analyst. It provides knowledge and practice of data structures and algorithms, which are essential for building secure software and systems. The course focuses on advanced data structures and algorithms, such as AVL trees and 伸展树, which are not typically covered in introductory computer science courses. This makes the course particularly relevant for those who wish to specialize in information security.
Computer Architect
Computer Architects design and develop the hardware and software systems that make up computers. This course may be useful for those who wish to enter a career as a Computer Architect. It provides knowledge and practice of data structures and algorithms, which are essential for designing and implementing efficient computer systems. The course focuses on advanced data structures and algorithms, such as Trie trees, AVL trees, and 伸展树, which are not typically covered in introductory computer science courses. This makes the course particularly relevant for those who wish to specialize in computer hardware architecture.
Network Engineer
Network Engineers design, build, and maintain computer networks. This course may be useful for those who wish to enter a career as a Network Engineer. It provides knowledge and practice of data structures and algorithms, which are essential for designing and implementing efficient networks. The course focuses on advanced data structures and algorithms, such as AVL trees and 伸展树, which are not typically covered in introductory computer science courses. This makes the course particularly relevant for those who wish to specialize in network engineering.
DevOps Engineer
DevOps Engineers work to improve the collaboration and communication between software developers and IT operations professionals. This course may be useful for those who wish to enter a career as a DevOps Engineer. It provides knowledge and practice of data structures and algorithms, which are essential for building and managing software systems. The course focuses on advanced data structures and algorithms, such as Trie trees, AVL trees, and 伸展树, which are not typically covered in introductory computer science courses. This makes the course particularly relevant for those who wish to specialize in DevOps.
Algorithm Engineer
Algorithms Engineers develop, analyze, and optimize algorithms. This course would be helpful for those who wish to enter a career as an Algorithm Engineer. It provides knowledge and practice of data structures and algorithms, which are essential for developing efficient and effective algorithms. The course focuses on advanced data structures and algorithms, such as Trie trees, AVL trees, and 伸展树, which are not typically covered in introductory computer science courses. This makes the course particularly relevant for those who wish to specialize in algorithm engineering.
Backend Developer
Backend Developers design and develop the server-side of web applications. This course may be useful for those who wish to enter a career as a Backend Developer. It provides knowledge and practice of data structures and algorithms, which are essential for designing and implementing efficient backend systems. The course focuses on advanced data structures and algorithms, such as Trie trees, AVL trees, and 伸展树, which are not typically covered in introductory computer science courses. This makes the course particularly relevant for those who wish to specialize in backend development.
Cloud Engineer
Cloud Engineers design and manage cloud computing systems. This course may be useful for those who wish to enter a career as a Cloud Engineer. It provides knowledge and practice of data structures and algorithms, which are essential for designing and implementing efficient cloud systems. The course focuses on advanced data structures and algorithms, such as Trie trees, AVL trees, and 伸展树, which are not typically covered in introductory computer science courses. This makes the course particularly relevant for those who wish to specialize in cloud engineering.
IT Consultant
IT Consultants help organizations improve their use of information technology. This course may be useful for those who wish to enter a career as an IT Consultant. It provides knowledge and practice of data structures and algorithms, which are essential for analyzing and solving IT problems. The course focuses on advanced data structures and algorithms, such as Trie trees, AVL trees, and 伸展树, which are not typically covered in introductory computer science courses. This makes the course particularly relevant for those who wish to specialize in IT consulting.
System Administrator
System Administrators maintain and repair computer systems and networks. This course may be useful for those who wish to enter a career as a System Administrator. It provides knowledge and practice of data structures and algorithms, which are essential for managing and maintaining computer systems. The course focuses on advanced data structures and algorithms, such as Trie trees, AVL trees, and 伸展树, which are not typically covered in introductory computer science courses. This makes the course particularly relevant for those who wish to specialize in system administration.
Cybersecurity Analyst
Cybersecurity Analysts protect computer networks and systems from unauthorized access, use, disclosure, disruption, modification, or destruction. This course may be useful for those who wish to enter a career as a Cybersecurity Analyst. It provides knowledge and practice of data structures and algorithms, which are essential for building secure software and systems. The course focuses on advanced data structures and algorithms, such as AVL trees and 伸展树, which are not typically covered in introductory computer science courses. This makes the course particularly relevant for those who wish to specialize in cybersecurity.
Database Administrator
Database Administrators maintain and manage databases. This course may be useful for those who wish to enter a career as a Database Administrator. It provides knowledge and practice of data structures and algorithms, which are essential for designing and implementing efficient databases. The course focuses on advanced data structures and algorithms, such as Trie trees, AVL trees, and 伸展树, which are not typically covered in introductory computer science courses. This makes the course particularly relevant for those who wish to specialize in database administration.
Computer Programmer
Computer Programmers design, develop, test, deploy, and maintain computer software. This course may be useful for those who wish to enter a career as a Computer Programmer. It provides knowledge and practice of data structures and algorithms, which are essential for building efficient and effective software. The course focuses on advanced data structures and algorithms, such as AVL trees and 伸展树, which are not typically covered in introductory computer science courses.

Reading list

We've selected nine books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in 高级数据结构与算法.
中文经典教材《算法导论》。它涵盖了算法的基本原则和各种数据结构,为学习算法提供了一个扎实的基础。
This classic textbook on algorithms provides a comprehensive and in-depth treatment of the subject, making it an excellent resource for students who want to learn more about the theoretical foundations of algorithms.
这是一本经典的算法教材,全面介绍了各种算法的设计、分析和实现,对于理解高级数据结构和算法的原理和应用非常有帮助。另外,书中还提供了丰富的习题和练习,可以帮助巩固对所学知识的理解。
Provides a comprehensive overview of data structures and algorithms, making it a valuable resource for students who want to gain a deeper understanding of the concepts covered in this course.
This textbook provides a comprehensive overview of data structures and algorithms in Java, making it a good choice for students who want to learn how to implement these concepts in code.
This textbook provides a comprehensive overview of data structures and algorithms in C++, making it a good choice for students who want to learn how to implement these concepts in code.
This textbook provides a comprehensive overview of data structures and algorithms in JavaScript, making it a good choice for students who want to learn how to implement these concepts in code.
Is written in Python, the same language used in this course, making it very easy to understand and apply the concepts and techniques discussed in the course.
This textbook provides a clear and concise introduction to algorithms, making it a good choice for students who are new to the subject.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser