We may earn an affiliate commission when you visit our partners.
Course image
Junhui DENG

By learning this course, you will get a comprehensive grasp of Priority Queues and string match techniques, as well as their applications. By the end of this course, you will be able to understand/implement Bucketsort, Counting-sort, and Radixsort, understand the principle/implementation/application of different Priority Queues such as complete binary heap and leftist heap, understand and implement Heapsort, understand and implement typical string matching algorithms such as KMP, BM, and Karp-Rabin, implement and analyze advanced selection/sorting algorithms such as Quicksort, QuickSelect, LinearSelect, and Shellsort.

Read more

By learning this course, you will get a comprehensive grasp of Priority Queues and string match techniques, as well as their applications. By the end of this course, you will be able to understand/implement Bucketsort, Counting-sort, and Radixsort, understand the principle/implementation/application of different Priority Queues such as complete binary heap and leftist heap, understand and implement Heapsort, understand and implement typical string matching algorithms such as KMP, BM, and Karp-Rabin, implement and analyze advanced selection/sorting algorithms such as Quicksort, QuickSelect, LinearSelect, and Shellsort.

通过学习本课程,你将全面了解优先级队列和字符串匹配技术及其应用。 在本课程结束时,你将能够了解/实现桶排序,计数排序和基数排序,了解不同优先级队列的原理/实现/应用,例如完全二叉堆和左倾堆,了解并实现堆排序,了解并实现典型的字符串匹配算法(例如KMP,BM和Karp-Rabin),实现并分析高级选择/排序算法,例如快速排序、快速选择、线性选择和希尔排序。

Enroll now

What's inside

Syllabus

第零章
第十章 优先级队列
本章内容为:优先级队列
Read more
第十一章 串(上)
本章内容为:串
第十一章 串(下)
第十二章 排序
本章内容为:排序
编程作业

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
强化中级学习者的坚实基础
在学术环境中非常相关
教授/传授高度相关的行业技能和知识
建立适用于初学者的坚实基础
发展行业标准技术和技术
课程大纲与认可的机构、训练营或培训计划的课程大纲非常相似

Save this course

Save Data Structures and Algorithms (IV) to your list so you can find it easily later:
Save

Reviews summary

Difficult data structures

Data Structures and Algorithms (IV) is a course that has received both negative and positive reviews. While some students have found it to be one of the best courses in China, others have found it to be too challenging. Students have also expressed that the headings are in English, but the content is in a local language, which has created frustrations for some students.
Course is one of the best in China.
"One of the best DSA courses in China..."
Headings are in English but content is in local language.
"Heading are English but content in some local language..."
Course is too difficult.
"...it is to tough to me..."

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 Data Structures and Algorithms (IV) with these activities:
Create a comprehensive study guide summarizing key concepts
Solidify your understanding and facilitate efficient review by compiling key concepts and materials in one organized document.
Show steps
  • Gather your class notes, textbook readings, and other relevant materials
  • Identify the most important concepts and ideas
  • Summarize each concept in a clear and concise way
  • Organize the summaries into a logical order
  • Review the study guide regularly to reinforce your learning
Organize a study group with classmates to discuss course material
Enhance your understanding and clarify concepts through peer-to-peer discussions and explanations.
Show steps
  • Find a group of classmates who are interested in forming a study group
  • Decide on a regular meeting time and place
  • Choose topics for discussion based on the course material
  • Take turns presenting your understanding of the concepts
  • Engage in discussions, ask questions, and provide feedback
Explore tutorials on priority queues and string matching algorithms
Expand your knowledge and clarify concepts by exploring additional resources and tutorials on these topics.
Browse courses on Priority Queues
Show steps
  • Search for tutorials on Coursera, Udemy, or YouTube
  • Select tutorials that cover the topics you need to reinforce
  • Watch the tutorials and take notes
  • Try to implement the algorithms discussed in the tutorials
  • Compare your understanding with the explanations provided
Four other activities
Expand to see all activities and additional details
Show all seven activities
Solve various sorting and string matching problems on Leetcode or Hackerrank
Reinforce your understanding of sorting and string matching algorithms by solving challenging problems on coding platforms.
Browse courses on Priority Queues
Show steps
  • Register on Leetcode or Hackerrank
  • Browse the list of problems related to sorting and string matching
  • Choose a problem that aligns with the course material
  • Implement the algorithm and submit your solution
  • Review the solutions provided by the platform and analyze your own approach
Implement Priority Queues and String Matching Algorithms in Python or Java
Enhance your programming skills and solidify your understanding of these concepts by implementing them in a practical project.
Browse courses on Priority Queues
Show steps
  • Choose a programming language (Python or Java)
  • Design the data structures for Priority Queues
  • Implement the enqueue, dequeue, and peek operations for Priority Queues
  • Implement the KMP, BM, and Karp-Rabin algorithms for string matching
  • Test your implementations with different inputs and analyze their performance
Attend a workshop or online event on advanced sorting algorithms
Gain exposure to advanced sorting algorithms and their practical applications through workshops or online events.
Browse courses on Sorting Algorithms
Show steps
  • Search for workshops or online events focused on advanced sorting algorithms
  • Register for the event
  • Attend the event and actively participate
  • Take notes and ask questions
  • Implement the algorithms you learned in your own projects
Contribute to open-source projects related to priority queues or string matching
Apply your knowledge and enhance your problem-solving skills by contributing to real-world projects in the field.
Browse courses on Priority Queues
Show steps
  • Explore GitHub for open-source projects related to priority queues or string matching
  • Identify a project that aligns with your interests and skills
  • Fork the project and make changes locally
  • Submit a pull request with your contributions
  • Collaborate with other contributors and maintain the project

Career center

Learners who complete Data Structures and Algorithms (IV) will develop knowledge and skills that may be useful to these careers:
Computer Scientist
Computer Scientists design and develop computer systems. They work with users to determine their needs and design systems that meet those needs. A course on Data Structures and Algorithms (IV) can be a helpful resource for Computer Scientists because it provides a solid foundation in the fundamentals of computer science.
Software Engineer
Software Engineers design, develop, and maintain software systems. They work with users to determine their needs and design systems that meet those needs. A course on Data Structures and Algorithms (IV) can be a helpful resource for Software Engineers because it provides a solid foundation in the fundamentals of software engineering.
Computer Programmer
Computer Programmers write code that tells computers what to do. They use their knowledge of programming languages to create software that meets the needs of users. A course on Data Structures and Algorithms (IV) can be a helpful resource for Computer Programmers because it provides a solid foundation in the fundamentals of computer science.
Software Development Manager
Software Development Managers plan and direct the development of software systems. They work with users to determine their needs and design systems that meet those needs. A course on Data Structures and Algorithms (IV) can be a helpful resource for Software Development Managers because it provides a solid foundation in the fundamentals of software development.
Network Administrator
Network Administrators implement and maintain computer networks. They work with users to determine their needs and design networks that meet those needs. A course on Data Structures and Algorithms (IV) can be a helpful resource for Network Administrators because it provides a solid foundation in the fundamentals of computer networking.
Information Technology Manager
Information Technology Managers plan and direct the implementation of computer systems. They work with users to determine their needs and design systems that meet those needs. A course on Data Structures and Algorithms (IV) can be a helpful resource for Information Technology Managers because it provides a solid foundation in the fundamentals of information technology.
Systems Analyst
Systems Analysts design and implement computer systems. They work with users to determine their needs and design systems that meet those needs. A course on Data Structures and Algorithms (IV) can be a helpful resource for Systems Analysts because it provides a solid foundation in the fundamentals of computer systems.
Computer Systems Analyst
Computer Systems Analysts design and implement computer systems. They work with users to determine their needs and design systems that meet those needs. A course on Data Structures and Algorithms (IV) can be a helpful resource for Computer Systems Analysts because it provides a solid foundation in the fundamentals of computer systems.
Machine Learning Engineer
Machine Learning Engineers design and develop machine learning systems. They work with businesses to help them automate tasks and make better decisions. A course on Data Structures and Algorithms (IV) can be a helpful resource for Machine Learning Engineers because it provides a solid foundation in the fundamentals of machine learning.
Data Architect
Data Architects design and implement data systems. They work with users to determine their needs and design systems that meet those needs. A course on Data Structures and Algorithms (IV) can be a helpful resource for Data Architects because it provides a solid foundation in the fundamentals of data architecture.
Database Administrator
Database Administrators implement and maintain databases. They work with users to determine their needs and design databases that meet those needs. A course on Data Structures and Algorithms (IV) can be a helpful resource for Database Administrators because it provides a solid foundation in the fundamentals of data management.
Artificial Intelligence Engineer
Artificial Intelligence Engineers design and develop artificial intelligence systems. They work with businesses to help them automate tasks and make better decisions. A course on Data Structures and Algorithms (IV) can be a helpful resource for Artificial Intelligence Engineers because it provides a solid foundation in the fundamentals of artificial intelligence.
Data Scientist
Data Scientists analyze data to identify trends and patterns. They work with businesses to help them make better decisions. A course on Data Structures and Algorithms (IV) can be a helpful resource for Data Scientists because it provides a solid foundation in the fundamentals of data analysis.
Information Security Analyst
Information Security Analysts protect computer systems from unauthorized access and attack. They work with users and system administrators to identify security risks and develop security plans. A course on Data Structures and Algorithms (IV) can be a helpful resource for Information Security Analysts because it provides a solid foundation in the fundamentals of computer security.
User Experience Designer
User Experience Designers design and evaluate user interfaces. They work with users to determine their needs and design interfaces that are easy to use and enjoyable. A course on Data Structures and Algorithms (IV) may be useful for User Experience Designers because it provides a solid foundation in the fundamentals of user interface design.

Reading list

We've selected 12 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 Data Structures and Algorithms (IV).
《Priority Queues》是一本专门探讨优先级队列的专著,深入分析了各种优先级队列的实现和性能。对于需要深入了解优先级队列的学习者,这本书是必读之作。
这是一本经典的算法教材,全面介绍了各种算法的设计和分析方法,可以作为本课程的背景知识补充。
《Algorithms in C++, Parts 1-4》是一套经典的算法教科书,用 C++ 语言深入讲解了各种算法。对于有 C++ 编程基础的学习者,这本书是深入了解算法的宝贵资源。
《算法竞赛进阶指南》是一本中文算法竞赛辅导书,提供了丰富的算法竞赛题目和解题思路。对于参加算法竞赛的学习者,这本书是一个不错的选择。
《Algorithms Unlocked》是《算法导论》的作者之一托马斯·科尔门写的一本算法普及读物,用生动的比喻和实际案例阐述了算法的基本原理。这本书有助于加深对算法的理解,激发学习兴趣。
《Data Structures and Algorithm Analysis in Java》是一本使用 Java 语言讲解数据结构和算法的教科书,提供了丰富的代码示例和练习题。对于希望用 Java 语言实现算法的学习者,这本书是一个不错的选择。
《数据结构》是一本中文数据结构教科书,全面介绍了各种数据结构的基本原理和实现方法。对于需要深入了解数据结构的学习者,这本书是宝贵的参考资源。
这本书适合作为本课程的补充教材,提供了一些课程中未涉及的算法和数据结构。

Share

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

Similar courses

Here are nine courses similar to Data Structures and Algorithms (IV).
Data Structures and Algorithms (I)
Most relevant
高级数据结构与算法
Most relevant
数据结构和算法 Data Structures and Algorithms
Most relevant
计算机系统基础(一) :程序的表示、转换与链接
Most relevant
Data Structures and Algorithms (III)
Most relevant
数据结构基础
Most relevant
Data Structures and Algorithms (II)
Most relevant
生物演化
Most relevant
面向对象技术高级课程(The Advanced Object-Oriented Technology)
Most relevant
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 - 2024 OpenCourser