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 stack, queue, binary tree, graph and BST structures and algorithms, as well as their applications. By the end of this course, you will be able to understand and implement stack, queue and binary tree, use binary trees to solve problems such Huffman encoding, understand and implement the graph structure as well as related algorithms such BFS, DFS and PFS, understand and implement AVL tree.

Read more

By learning this course, you will get a comprehensive grasp of stack, queue, binary tree, graph and BST structures and algorithms, as well as their applications. By the end of this course, you will be able to understand and implement stack, queue and binary tree, use binary trees to solve problems such Huffman encoding, understand and implement the graph structure as well as related algorithms such BFS, DFS and PFS, understand and implement AVL tree.

通过学习本课程,你将全面了解栈、队列、二叉树、图和二叉搜索树结构、算法及其应用。 在本课程结束时,你将能够理解和实现栈、队列和二叉树,使用二叉树解决霍夫曼编码等问题,理解并实现图结构以及相关算法(例如BFS,DFS和PFS),理解并实现AVL树。

Enroll now

What's inside

Syllabus

第零章
第四章 栈与队列
本章内容为:栈与队列
Read more
第五章 二叉树
本章内容为:二叉树
第六章 图
本章内容为:图
第七章 二叉搜索树
本章内容为:二叉搜索树
编程作业

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Expands on computer science fundamentals, which is highly relevant to software engineering
Explores topics that are core skills for computer science students and coders
Taught by Junhui DENG, who are recognized for their work in data structure and algorithm

Save this course

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

Reviews summary

Excellent course for data structures and algorithms

This course offers a great foundation for learning about data structures and algorithms, with clear explanations and challenging content.

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 (II) with these activities:
Organize a study group with other students
Enhance your understanding of the material by discussing concepts with peers, asking questions, and working on problems together.
Browse courses on Collaboration
Show steps
  • Reach out to other students in your class or online community.
  • Set up regular study sessions to meet in person or virtually.
Read 'Introduction to Computer Algorithms'
Get started familiarizing yourself with basic algorithms with this comprehensive guide that's used at top-tier universities around the country.
Show steps
  • Start by reading Chapter 1 and complete the practice problems.
  • Progress through the remaining chapters, working through the practice problems at the end of each.
  • Once finished, take practice problems from previous years' exams to test your knowledge.
Follow a tutorial series on Udemy or Coursera
Deepen your understanding of specific topics by following a structured tutorial led by an expert in the field.
Browse courses on Algorithms
Show steps
  • Identify a topic you want to learn more about.
  • Search for a tutorial series on Udemy or Coursera that covers that topic.
  • Enroll in the tutorial series and follow along with the lessons.
Five other activities
Expand to see all activities and additional details
Show all eight activities
Attend a tech meetup or conference
Connect with like-minded individuals in the field, learn from their experiences, and gain valuable insights.
Browse courses on Networking
Show steps
  • Research upcoming meetups or conferences related to algorithms and data structures.
  • Pick an event that aligns with your interests and register to attend.
  • Engage in conversations, ask questions, and share your knowledge with others.
Complete practice problems on LeetCode
Enhance your problem-solving skills and reinforce your understanding of the concepts by practicing on leetcode.
Browse courses on Algorithms
Show steps
  • Browse through the problems and pick one that interests you.
  • Work through the problem on your own, using hints when needed.
  • Once you have a solution, compare it to the provided solution to identify areas for improvement.
Attend a coding workshop
Gain practical experience and improve your coding skills by working on real-world projects under the guidance of experienced instructors.
Browse courses on Algorithms
Show steps
  • Find a coding workshop that aligns with your interests and skill level.
  • Register for the workshop and attend all the sessions.
  • Complete the projects assigned during the workshop.
Volunteer at a hackathon or coding competition
Apply your skills in a practical setting, collaborate with others, and contribute to the community.
Browse courses on Problem Solving
Show steps
  • Find a hackathon or coding competition that aligns with your interests.
  • Register as a volunteer and assist with tasks such as judging, mentoring, or organizing.
Write a blog post about a data structure or algorithm
Solidify your understanding of a topic by putting it into writing and presenting it to others.
Browse courses on Data Structures
Show steps
  • Pick a specific data structure or algorithm that you want to explain.
  • Research the topic thoroughly, ensuring you have a deep understanding.
  • Write a blog post that explains the concept clearly and concisely.
  • Publish your blog post and share it with others.

Career center

Learners who complete Data Structures and Algorithms (II) will develop knowledge and skills that may be useful to these careers:
Data Scientist
A Data Scientist uses data to create predictive models. This role requires proficiency in building data structures to manage large amounts of data. It requires proficiency in designing algorithms for both time and space complexity. Taking Data Structures and Algorithms (II) builds a foundation in both of these areas.
Computer Scientist
A Computer Scientist researches and develops new computer technologies. This role requires proficiency in building data structures and designing algorithms. Taking Data Structures and Algorithms (II) builds a foundation in these areas.
Data Analyst
A Data Analyst uses data to find trends and patterns to solve business problems. This role requires proficiency in building data structures to manage large amounts of data. It requires proficiency in designing algorithms for both time and space complexity. Taking Data Structures and Algorithms (II) builds a foundation in both of these areas.
Software Engineer
A Software Engineer designs, develops, and maintains software applications. This role requires proficiency in building data structures to architect scalable software. It requires proficiency in designing algorithms for both time and space complexity. Taking Data Structures and Algorithms (II) builds a foundation in both of these areas.
Systems Analyst
A Systems Analyst designs and implements computer systems. This role requires proficiency in building data structures and designing algorithms. Taking Data Structures and Algorithms (II) builds a foundation in these areas.
Web Developer
A Web Developer designs and develops websites. This role requires proficiency in building data structures to manage user data and optimizing site performance for time and space complexity. Taking Data Structures and Algorithms (II) can help build a foundation in these areas.
Information Security Analyst
An Information Security Analyst protects computer systems from unauthorized access. This role requires proficiency in building data structures and designing algorithms for security applications. Taking Data Structures and Algorithms (II) builds a foundation in these areas.
Database Administrator
A Database Administrator manages and maintains databases. This role requires proficiency in managing data structures and designing algorithms for database performance. Taking Data Structures and Algorithms (II) builds a foundation in these areas.
Product Manager
A Product Manager manages the development of software products. This role requires proficiency in understanding data structures and algorithms. Taking Data Structures and Algorithms (II) develops this understanding.
IT Consultant
An IT Consultant provides advice on computer systems. This role requires proficiency in understanding data structures and algorithms. Taking Data Structures and Algorithms (II) develops this understanding.
Technical Writer
A Technical Writer creates documentation for software applications. This role requires proficiency in understanding data structures and algorithms. Taking Data Structures and Algorithms (II) develops this understanding.
Software Tester
A Software Tester tests software applications for defects. This role requires proficiency in designing algorithms for automating tests. Taking Data Structures and Algorithms (II) can help build a foundation in this area.
Computer Hardware Engineer
A Computer Hardware Engineer designs and develops computer hardware. This role requires proficiency in understanding data structures and algorithms. Taking Data Structures and Algorithms (II) can help develop this understanding.
Computer Network Architect
A Computer Network Architect designs and implements computer networks. This role requires proficiency in understanding data structures and algorithms. Taking Data Structures and Algorithms (II) can help develop this understanding.
Information Technology Manager
An Information Technology Manager manages the IT department of an organization. This role requires proficiency in understanding data structures and algorithms. Taking Data Structures and Algorithms (II) can help develop this understanding.

Reading list

We've selected ten 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 (II).
本书是一本经典的数据结构和算法教材,使用 Java 语言讲解,有助于理解课程中所学数据结构和算法的实现细节。
本书是算法领域的另一本经典教材,对算法的分析和设计进行了深入的讲解,有助于拓展课程中所学算法的知识面。
本书是一本算法通俗读物,用生动有趣的方式讲解算法的基本概念和思想,有助于培养算法思维。
本书是一本算法竞赛方面的进阶指南,讲解了算法竞赛中常用的技巧和方法,对于参加算法竞赛的同学非常有帮助。
本书是一本 Java 编程指南,讲解了 Java 语言中的一些最佳实践和设计模式,有助于提高 Java 编程水平。
本书是一本 C++ 语言教程,讲解了 C++ 语言的基础知识和高级特性,对于使用 C++ 语言编程的同学非常有帮助。
本书是一本 Python 编程指南,提供了大量的 Python 编程技巧和范例,有助于提高 Python 编程水平。
本书是一套计算机编程领域的巨著,深入讲解了计算机编程的各个方面,对于想要深入了解计算机编程的同学非常有帮助,但难度较大。
本书是一本数学方面的经典教材,讲解了离散数学和组合数学等知识,对于算法设计非常有帮助。

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 (II).
Data Structures and Algorithms (III)
Most relevant
数据结构和算法 Data Structures and Algorithms
Most relevant
高级数据结构与算法
Most relevant
Data Structures and Algorithms (IV)
Most relevant
数据结构基础
Most relevant
Data Structures and Algorithms (I)
Most relevant
学习 OpenCV 3.2+ QT 5+ ffmpeg 实战开发视频编辑器视频教程
Most relevant
生物学概念与途径
Most relevant
Advanced Chemical Engineering Thermodynamics | 高等化工热力学
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