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 hashing and typical balanced binary search trees, as well as their applications. By the end of this course, you will be able to understand the principle of Hashing, design and implement Hashtables for real problems, understand and implement typical balanced binary search trees such as Splay tree, Red-Black tree as well as B-tree, use BBST to solve various problems such as range query.

通过学习本课程,你将全面了解散列和典型的平衡二叉搜索树技术及其应用。 在本课程结束时,你将能够了解散列的原理,设计和实现用于实际问题的哈希表,了解并实现典型的平衡二叉搜索树,例如Splay树,红黑树以及B树,并使用BBST解决各种问题,例如范围查询。

Enroll now

What's inside

Syllabus

第零章
第八章 高级搜索树(上)
本章内容为:高级搜索树
Read more
第八章 高级搜索树(下)
第九章 词典
本章内容为:词典
编程作业

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
深入剖析散列表和平衡二叉查找树原理,掌握其在各种应用场景中的实践技巧。
提供动手实践的编程作业,巩固理解,提升应用能力。
涵盖高级搜索树技术,如伸展树、红黑树和 B 树,拓展算法知识。
适合计算机科学或相关专业学生,以及希望深入理解数据结构和算法的从业者。

Save this course

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

Reviews summary

Informative dsa course

This course covers advanced data structures and their applications in a comprehensive and engaging way. The concepts are explained clearly, and the programming assignments are challenging but rewarding.
Provides practical applications of data structures to solve real-world problems.
Assignments are challenging and require students to implement their own data structures.
"The questions are not easy either, especially the programming questions."
Covers advanced data structures such as hashing and balanced binary search trees.
"By learning this course, you will get a comprehensive grasp of hashing and typical balanced binary search trees, as well as their applications."

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 (III) with these activities:
和同学讨论散列表和BBST
通过和同学讨论散列表和BBST,可以加深理解,拓展思路。
Show steps
  • 组织讨论小组
  • 准备讨论话题
收集散列表和BBST相关资源
通过收集散列表和BBST相关资源,可以拓展知识面,深入了解这些技术。
Show steps
  • 收集散列表和BBST的相关文章
  • 整理和分类收集到的资源
练习散列表操作题
通过练习散列表操作题,可以加深对散列表原理和实现的理解。
Show steps
  • 找出散列表中特定元素
  • 向散列表中插入元素
Five other activities
Expand to see all activities and additional details
Show all eight activities
学习B树实现算法
通过学习B树实现算法,可以了解B树的结构和特点,提高解决范围查询等问题的能力。
Show steps
  • 学习B树的结构和概念
  • 理解B树的插入算法
练习BBST操作题
通过练习BBST操作题,可以加深对BBST原理和实现的理解。
Show steps
  • 找出BBST中特定元素
  • 向BBST中插入元素
设计和实现一个词典
通过设计和实现一个词典,可以深入理解词典的原理和实现,提高动手能力。
Show steps
  • 设计词典的接口和数据结构
  • 实现词典的插入、删除和查找操作
设计和实现一个Splay树
通过设计和实现一个Splay树,可以深入理解Splay树的原理和实现,提高动手能力。
Show steps
  • 设计Splay树的接口和数据结构
  • 实现Splay树的插入、删除和查找操作
参与散列表或BBST相关开源项目
通过参与散列表或BBST相关开源项目,可以了解实际应用场景,提高协作能力。
Show steps
  • 寻找合适的开源项目
  • 阅读项目文档和代码

Career center

Learners who complete Data Structures and Algorithms (III) will develop knowledge and skills that may be useful to these careers:
Software Engineer
As a Software Engineer, you will be responsible for designing, developing, testing, and maintaining software applications. This course will help you build a foundation in data structures and algorithms, which are essential for success in this role. You will learn about hashing techniques, balanced binary search trees, and how to use them to solve real-world problems. This knowledge will be invaluable as you work on complex software systems.
Data Scientist
Data Scientists use data to solve business problems. They collect, clean, and analyze data to identify trends and patterns. This course will help you develop the skills you need to be successful in this role. You will learn about data structures and algorithms for managing and processing large datasets. You will also learn how to use statistical techniques to analyze data and draw conclusions.
Database Administrator
Database Administrators are responsible for managing and maintaining databases. They ensure that data is accurate, secure, and accessible. This course will help you build a foundation in data structures and algorithms, which are essential for success in this role. You will learn about hashing techniques, balanced binary search trees, and how to use them to optimize database performance.
Computer Scientist
Computer Scientists research and develop new computer technologies. They work on a wide range of topics, from artificial intelligence to operating systems. This course will help you build a foundation in data structures and algorithms, which are essential for success in this role. You will learn about hashing techniques, balanced binary search trees, and how to use them to solve complex computational problems.
Information Security Analyst
Information Security Analysts protect computer systems and networks from unauthorized access, use, disclosure, disruption, modification, or destruction. This course will help you build a foundation in data structures and algorithms, which are essential for success in this role. You will learn about hashing techniques, balanced binary search trees, and how to use them to secure data and systems.
Systems Analyst
Systems Analysts design, develop, and implement computer systems. They work with users to understand their needs and then design systems that meet those needs. This course will help you build a foundation in data structures and algorithms, which are essential for success in this role. You will learn about hashing techniques, balanced binary search trees, and how to use them to design efficient and effective systems.
Web Developer
Web Developers design and develop websites. They work with clients to understand their needs and then create websites that meet those needs. This course will help you build a foundation in data structures and algorithms, which are essential for success in this role. You will learn about hashing techniques, balanced binary search trees, and how to use them to create efficient and effective websites.
Business Analyst
Business Analysts help businesses improve their operations by analyzing data and identifying opportunities for improvement. This course will help you build a foundation in data structures and algorithms, which are essential for success in this role. You will learn about hashing techniques, balanced binary search trees, and how to use them to analyze data and identify trends.
Project Manager
Project Managers plan and execute projects. They work with stakeholders to define project goals, develop project plans, and track project progress. This course will help you build a foundation in data structures and algorithms, which are essential for success in this role. You will learn about hashing techniques, balanced binary search trees, and how to use them to manage project data and track project progress.
Technical Writer
Technical Writers create documentation that explains how to use products and services. They work with engineers and other technical experts to gather information and then write clear and concise documentation. This course will help you build a foundation in data structures and algorithms, which are essential for success in this role. You will learn about hashing techniques, balanced binary search trees, and how to use them to organize and present technical information.
Quality Assurance Analyst
Quality Assurance Analysts test software to ensure that it meets requirements. They work with developers to identify and fix defects. This course will help you build a foundation in data structures and algorithms, which are essential for success in this role. You will learn about hashing techniques, balanced binary search trees, and how to use them to test software and identify defects.
User Experience Designer
User Experience Designers design and evaluate user interfaces. They work with users to understand their needs and then design interfaces that are easy to use and enjoyable. This course will help you build a foundation in data structures and algorithms, which are essential for success in this role. You will learn about hashing techniques, balanced binary search trees, and how to use them to design efficient and effective user interfaces.
IT Support Specialist
IT Support Specialists provide technical support to users. They help users troubleshoot problems and resolve issues. This course will help you build a foundation in data structures and algorithms, which are essential for success in this role. You will learn about hashing techniques, balanced binary search trees, and how to use them to diagnose and resolve technical problems.
Network Administrator
Network Administrators manage and maintain computer networks. They ensure that networks are running smoothly and that data is secure. This course will help you build a foundation in data structures and algorithms, which are essential for success in this role. You will learn about hashing techniques, balanced binary search trees, and how to use them to design and manage efficient and effective networks.
Data Entry Clerk
Data Entry Clerks enter data into computer systems. They may also verify and correct data. This course may be useful for you if you are interested in a career as a Data Entry Clerk. You will learn about hashing techniques and balanced binary search trees, which are used to organize and manage data.

Reading list

We've selected six 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 (III).
与《算法导论》类似,本书是算法领域的经典著作,可作为本课程的补充读本和深入学习参考
本书内容较全面和全面,从算法的常见技术到各种典型算法的分析,有助于对本课程进一步理解和实践
本书着重于算法的实际应用,提供多种算法的代码实现,可作为本课程的实践参考

Share

Help others find this course page by sharing it with your friends and followers:
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