We may earn an affiliate commission when you visit our partners.
Robert Horvick

Algorithms and data structures are the foundation of software engineering. This course will teach you about some of the algorithms and data structures used daily by professional software engineers.

Read more

Algorithms and data structures are the foundation of software engineering. This course will teach you about some of the algorithms and data structures used daily by professional software engineers.

Understanding algorithms and data structures is fundamental to creating efficient software. In this course, Algorithms and Data Structures - Part 2, you’ll learn many algorithms and data structures used in software development. First, you’ll explore sorting and searching algorithms. Next, you’ll discover advanced data structures such as sets, heaps, balanced binary trees, B-Trees, and priority queues. Finally, you’ll learn how to safely use these algorithms and data structures in multi-threaded or concurrent programming environments. When you’re finished with this course, you’ll have the skills and knowledge of algorithms and data structures needed to successfully apply them in your own software development projects.

Enroll now

What's inside

Syllabus

Course Overview
Sorting and Searching Array Data
String Searching Algorithms
Balanced Binary Trees
Read more
Sets and Set Algorithms
B-Trees
Heaps and Priority Queues
Collection Concurrency

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Explores B-Trees and priority queues, which are highly relevant to big data applications
Provides a solid foundation for intermediate learners in algorithms and data structures
Taught by Robert Horvick, who is recognized for their work in data structures and algorithms
Develops core skills in software engineering, which are highly relevant to industry
Offers hands-on labs and interactive materials to reinforce learning
Covers essential algorithms and data structures, such as sorting, searching, and balanced binary trees

Save this course

Save Algorithms and Data Structures - Part 2 to your list so you can find it easily later:
Save

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 Algorithms and Data Structures - Part 2 with these activities:
Read 'Introduction to Algorithms' by Cormen, Leiserson, Rivest, and Stein
Enhance your theoretical understanding of algorithms and data structures by delving into this classic textbook, providing a comprehensive foundation for this course.
Show steps
  • Read the chapters relevant to the course topics
  • Take notes and highlight important concepts
  • Complete the exercises and review the solutions
Join a study group and discuss course concepts
Enhance your learning experience by engaging in discussions with peers, exchanging perspectives, and clarifying concepts through collaborative exploration.
Show steps
  • Find or create a study group with other students taking the course
  • Set regular meeting times and stick to them
  • Prepare for each session by reviewing the material
  • Actively participate in discussions and ask questions
Follow tutorials on implementing heaps and priority queues
Gain practical experience in implementing heaps and priority queues by following guided tutorials, solidifying your understanding of their operations and applications.
Browse courses on Heaps
Show steps
  • Find reputable tutorials on implementing heaps and priority queues
  • Follow the tutorials step-by-step
  • Implement your own heap or priority queue based on what you learned
Four other activities
Expand to see all activities and additional details
Show all seven activities
Develop a binary search tree implementation
Build a solid foundation in binary search trees by implementing one from scratch, allowing you to grasp the underlying concepts and their practical application.
Browse courses on Binary Search Tree
Show steps
  • Review the theory behind binary search trees
  • Choose a programming language and IDE
  • Implement the basic operations of a binary search tree (insert, search, delete)
  • Test your implementation with various inputs
Solve LeetCode problems on sorting and searching
Reinforce your understanding of sorting and searching algorithms by solving LeetCode problems, honing your problem-solving skills and solidifying your grasp of these fundamental concepts.
Browse courses on Sorting Algorithms
Show steps
  • Select a set of LeetCode problems focused on sorting and searching
  • Attempt to solve the problems on your own
  • Review solutions and learn from different approaches
Create a blog post or video explaining balanced binary trees
Deepen your understanding of balanced binary trees by explaining them to others through a blog post or video, reinforcing your knowledge and promoting active recall.
Show steps
  • Research balanced binary trees thoroughly
  • Create an outline for your blog post or video
  • Write or record your content, ensuring clarity and accuracy
  • Proofread or edit your work before sharing it
Design and implement a data structure to represent a specific real-world problem
Apply your knowledge of data structures by designing and implementing a solution to a real-world problem, bridging the gap between theoretical concepts and practical applications.
Browse courses on Data Structures
Show steps
  • Identify a real-world problem that can be solved using a data structure
  • Design a data structure that meets the requirements of the problem
  • Implement the data structure in your preferred programming language
  • Test your implementation thoroughly

Career center

Learners who complete Algorithms and Data Structures - Part 2 will develop knowledge and skills that may be useful to these careers:
Software Architect
Software Architects make decisions about the design and structure of software systems. A strong understanding of algorithms and data structures is important for Software Architects, and this course may help provide the necessary foundation.
Machine Learning Engineer
Machine Learning Engineers use algorithms and data structures to design and build machine learning models. This course may be useful for those looking to become Machine Learning Engineers, as it covers the fundamentals of algorithms and data structures used in the field.
Quantitative Analyst
Quantitative Analysts use algorithms and data structures to analyze financial data. This course may help build a foundation in algorithms and data structures used by many Quantitative Analysts.
Systems Analyst
Systems Analysts use algorithms and data structures to design and implement computer systems. This course is a great introduction to algorithms and data structures commonly used by Systems Analysts, which could be helpful for those entering the field.
Data Analyst
Data Analysts often use algorithms and data structures in their work. This course may be helpful for those interested in learning the fundamentals of algorithms and data structures as they are used by Data Analysts.
Database Administrator
Database Administrators use algorithms and data structures to design and manage databases. This course may be useful for those interested in becoming Database Administrators, as it covers the fundamentals of algorithms and data structures used in the field.
Information Security Analyst
Information Security Analysts use algorithms and data structures to protect computer systems and networks. This course may be helpful for those interested in becoming Information Security Analysts, as it covers the fundamentals of algorithms and data structures used in the field.
Business Intelligence Analyst
Business Intelligence Analysts use algorithms and data structures to analyze data and develop insights for businesses. This course may be helpful for those interested in becoming Business Intelligence Analysts, as it covers the fundamentals of algorithms and data structures used in the field.
Data Scientist
Data Scientists use algorithms and data structures to analyze and interpret data. This course may provide beneficial information about some of the algorithms and data structures commonly used by Data Scientists.
Data Engineer
Data Engineers frequently use algorithms and data structures in their work. This course may be helpful for those interested in data engineering, as it provides a foundation in algorithms and data structures used by Data Engineers.
Computer Programmer
Computer Programmers use algorithms and data structures to build computer programs. This course may be helpful for preparing to work in this field by teaching many of the algorithms and data structures used by Computer Programmers.
Software Engineer
Software Engineers use algorithms and data structures to write code in a variety of programming languages. This course may help future Software Engineers become familiar with many of the frequently used algorithms and data structures in the field, which could in turn help them write better, more efficient code.
Developer
A Developer may use a variety of algorithms and data structures in computer coding. This course may be useful for learning some of the most commonly used algorithms and data structures in the field, which could in turn help a developer work more efficiently.
Product Manager
Product Managers typically have a strong understanding of the technical aspects of the products they manage. While this course may not provide all the skills needed to become a Product Manager, it may be a helpful starting point for those interested in learning more about algorithms and data structures used in the field.
Business Analyst
Business Analysts may leverage algorithms and data structures to improve business processes. While this course may not provide all the skills needed to become a Business Analyst, it may be a helpful starting point for those interested in learning more about algorithms and data structures used in the field.

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 Algorithms and Data Structures - Part 2.
Classic textbook on algorithms. It provides a comprehensive overview of the field and valuable resource for students and professionals.
Covers a broad range of computer science topics, including algorithms, data structures, and analysis of algorithms. It comprehensive resource that can be used as a textbook or a reference.
Provides a comprehensive introduction to advanced data structures in Java. It valuable resource for students and professionals who want to learn more about these important topics.
Provides a comprehensive introduction to algorithms and data structures for massive datasets. It valuable resource for students and professionals who want to learn more about these important topics.
Provides a comprehensive introduction to data structures and algorithms in Python. It valuable resource for students and professionals who want to learn more about these important topics.
Provides a comprehensive introduction to algorithms and data structures for social network analysis. It valuable resource for students and professionals who want to learn more about these important topics.
Provides a comprehensive introduction to data structures and algorithms in Java. It valuable resource for students and professionals who want to learn more about these important topics.
Provides a comprehensive introduction to data structures, algorithms, and applications in C++. It valuable resource for students and professionals who want to learn more about these important topics.
Provides a comprehensive introduction to data structures and algorithm analysis in C++. It valuable resource for students and professionals who want to learn more about these important topics.
Provides a comprehensive introduction to algorithms and data structures in C++. It valuable resource for students and professionals who want to learn more about these important topics.
Provides a clear and concise introduction to algorithms and data structures. It valuable resource for students and professionals who want to learn more about these important topics.

Share

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

Similar courses

Here are nine courses similar to Algorithms and Data Structures - Part 2.
Algorithms and Data Structures - Part 1
Most relevant
Practical Data Structures & Algorithms in Java + HW
Most relevant
Algorithms Data Structures in Java #1 (+INTERVIEW...
Most relevant
Data Structures & Algorithms II: Binary Trees, Heaps,...
Most relevant
Ordered Data Structures
Most relevant
Data Structures Fundamentals
Most relevant
Algorithms and Data Structures in Python (INTERVIEW Q&A)
Most relevant
Data Structures and Performance
Most relevant
Introduction to Java Programming: Fundamental Data...
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