We may earn an affiliate commission when you visit our partners.
Giovanni Dicanio

This introductory course will teach you how to implement some fundamental data structures and algorithms in C++ from scratch, with a combination of theoretical introduction using slides, and practical C++ implementation code.

Knowing some fundamental data structures and algorithms both in theory and from a practical implementation perspective helps you in being a better C++ programmer, gives you a good foundation to understand standard library’s containers and algorithms inner “under the hood” mechanics, and serves as a kind of knowledge that is required in several coding interviews, as well.

Read more

This introductory course will teach you how to implement some fundamental data structures and algorithms in C++ from scratch, with a combination of theoretical introduction using slides, and practical C++ implementation code.

Knowing some fundamental data structures and algorithms both in theory and from a practical implementation perspective helps you in being a better C++ programmer, gives you a good foundation to understand standard library’s containers and algorithms inner “under the hood” mechanics, and serves as a kind of knowledge that is required in several coding interviews, as well.

In this course,

, you’ll learn how to implement some fundamental data structures and algorithms in C++ from scratch, with a combination of theoretical introduction using slides, and practical C++ implementation code as well.

No prior data structure or algorithm theory knowledge is required. You only need a basic knowledge of C++ language features.

Enroll now

What's inside

Syllabus

Course Overview
Safely Using Arrays
Improve Array Implementation
Efficiently Searching
Read more
Implementing a Last-in First-out Pattern with the Stack
Introducing Node-based Data Structures: Linked-lists

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Teaches core data structures and algorithms, a strong foundational skill for any backend developer
Combines theoretical explanations with practical implementation, providing a well-rounded understanding
Taught by Giovanni Dicanio, a recognized expert in C++ data structures and algorithms
Relevant for both beginner and intermediate C++ programmers looking to enhance their knowledge of data structures and algorithms
Requires only a basic understanding of C++ language features, making it accessible to a wide range of learners
Covers a range of topics, from arrays and linked lists to stacks, providing a comprehensive overview of data structures in C++

Save this course

Save Introduction to Data Structures and Algorithms in C++ 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 Introduction to Data Structures and Algorithms in C++ with these activities:
Review C++ language features
Establish foundational C++ knowledge to build upon throughout this course.
Browse courses on C++
Show steps
  • Review C++ syntax
  • Practice basic C++ operations
  • Complete a few simple C++ coding exercises
Read 'Data Structures and Algorithms in C++'
Supplement your understanding of data structures and algorithms with this comprehensive book.
Show steps
  • Read the book
  • Work through the exercises
Create a Stack in C++
Reinforce understanding of Stacks by implementing one from scratch.
Browse courses on Stack
Show steps
  • Find a tutorial on creating a Stack in C++
  • Follow the tutorial and implement a Stack
  • Test your Stack implementation
Six other activities
Expand to see all activities and additional details
Show all nine activities
Mentor a junior C++ developer
Help others improve their C++ skills while reinforcing your own understanding.
Browse courses on C++
Show steps
  • Find a junior C++ developer to mentor
  • Establish a mentoring relationship
  • Provide guidance and support
Practice implementing C++ data structures
Deepen understanding of data structures by implementing them yourself.
Browse courses on Data Structure
Show steps
  • Find a set of practice problems for implementing C++ data structures
  • Solve the problems and implement the data structures
  • Test your implementations
Contribute to an open-source C++ project
Gain experience working on real-world C++ projects.
Browse courses on C++
Show steps
  • Find an open-source C++ project to contribute to
  • Create a pull request
  • Get your pull request merged
Build a C++ program that uses a linked list
Demonstrate your ability to apply data structures in a practical setting.
Browse courses on Linked List
Show steps
  • Design a program that uses a linked list
  • Implement the program
  • Test the program
Develop a C++ application that incorporates multiple data structures
Challenge yourself by building a project that requires the use of multiple data structures.
Browse courses on Data Structure
Show steps
  • Plan your project
  • Design the architecture of your application
  • Implement your application
  • Test your application
Participate in a C++ coding competition
Test your skills and learn from others by participating in a coding competition.
Browse courses on C++
Show steps
  • Find a C++ coding competition
  • Register for the competition
  • Prepare for the competition
  • Participate in the competition

Career center

Learners who complete Introduction to Data Structures and Algorithms in C++ will develop knowledge and skills that may be useful to these careers:
Algorithm Developer
Algorithm Developers create efficient and effective algorithms to solve specific problems. This course may be useful to you as it focuses on implementing data structures and algorithms in C++, providing you with the necessary skills to develop and optimize algorithms in real-world applications.
Machine Learning Engineer
Machine Learning Engineers build and deploy machine learning models to solve complex problems in various industries. This course could be useful for Machine Learning Engineers as it provides a foundation in data structures and algorithms, which are essential for developing efficient and scalable machine learning systems.
Principal Software Engineer
Principal Software Engineers lead and mentor software engineering teams and contribute to the design and development of complex software systems. Taking this course could help you gain a deeper understanding of data structures and algorithms, enabling you to lead and manage projects more effectively.
Computer Scientist
Computer Scientists conduct research and develop new computing technologies and applications. This course may be useful for Computer Scientists as it provides a foundation in the fundamentals of data structures and algorithms, which are essential for designing and implementing efficient and reliable computing systems.
Chief Technology Officer
Chief Technology Officers (CTOs) are responsible for shaping and executing an organization's technology vision and strategy. By gaining a solid understanding of data structures and algorithms through this course, you can enhance your ability to make strategic decisions, guide technology investments, and drive innovation within your organization.
Data Scientist
Data Scientists use data analysis techniques and machine learning to extract insights from data and solve complex problems. This course could be beneficial for Data Scientists as it provides a foundation in data structures and algorithms, which are essential for organizing, storing, and analyzing large datasets efficiently.
Data Engineer
Data Engineers design, build, and maintain data pipelines and infrastructure to store, process, and analyze large volumes of data. Taking this course could help you gain a deeper understanding of data structures and algorithms, enabling you to develop efficient and scalable data management systems.
Technical Lead
Technical Leads guide and oversee software development teams, ensuring the quality and efficiency of software products. This course can provide you with a strong foundation in data structures and algorithms, enhancing your ability to make informed technical decisions and lead your team towards successful outcomes.
Cloud Engineer
Cloud Engineers design, implement, and maintain cloud computing infrastructure and services. This course could be useful for Cloud Engineers as it provides a foundation in data structures and algorithms, which are essential for designing and managing efficient and scalable cloud systems.
Software Developer
Software Developers design, develop, and test software applications in various industries. Taking this course could strengthen your understanding of data structures and algorithms in C++, which are essential for building efficient and reliable software applications.
Systems Engineer
Systems Engineers design, implement, and maintain complex systems, including hardware, software, and networks. This course could be useful for Systems Engineers as it provides a foundation in data structures and algorithms, which are essential for designing and implementing efficient and reliable systems.
Database Administrator
Database Administrators design, implement, and maintain database systems to store and manage data. This course could be helpful for Database Administrators as it provides a foundation in data structures and algorithms, which are essential for designing and managing efficient and scalable database systems.
Quantitative Analyst
Quantitative Analysts develop and use mathematical and statistical models to analyze financial data and make investment decisions. This course could be beneficial for Quantitative Analysts as it provides a solid foundation in data structures and algorithms, which are used for organizing and manipulating large datasets efficiently.
Data Analyst
Data Analysts collect, analyze, and interpret data to identify trends and patterns, and communicate their findings to stakeholders. This course could be beneficial for Data Analysts as it provides a foundation in data structures and algorithms, which are used for organizing, storing, and retrieving data efficiently.
Software Engineer
Software Engineers apply engineering principles and programming skills to develop and maintain computer software in various industries, including technology, healthcare, and finance. This course may be useful to you as it focuses on implementing data structures and algorithms in C++, which are essential for organizing and manipulating data in software applications.

Reading list

We've selected 15 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 Introduction to Data Structures and Algorithms in C++.
This monumental series of books presents a comprehensive and authoritative treatment of computer science, including algorithms, data structures, and programming techniques. It valuable resource for those seeking a thorough and in-depth understanding of the field.
Is written by the creator of C++ programming language and provides a definitive reference on the language. It covers all aspects of C++, including its syntax, semantics, and standard library. It valuable resource for experienced C++ programmers seeking a comprehensive reference.
Presents a collection of best practices and idioms for writing effective and efficient C++ code. It covers topics such as resource management, object-oriented design, and generic programming. It valuable resource for experienced C++ programmers seeking to improve their coding skills.
This classic textbook provides a comprehensive and rigorous foundation in the field of algorithms. It covers a wide range of topics, including algorithm design techniques, complexity analysis, and advanced data structures. It valuable resource for those seeking a deeper understanding of algorithms.
Will help provide context and more detailed explanations of the materials presented in the course. Particularly, this book can help with understanding the theoretical underpinnings of data structures and algorithms which the course does not cover in as much detail.
This series of books provides a thorough and practical introduction to algorithms in Java. It covers a wide range of topics, including sorting, searching, graph algorithms, and more. It valuable resource for students and professionals seeking to develop their programming skills.
This classic textbook provides a rigorous and comprehensive foundation in discrete mathematics, which is essential for understanding algorithms and data structures. It covers topics such as combinatorics, graph theory, and number theory.
Offers a comprehensive and clear introduction to data structures and algorithms in Python. It is particularly useful for those familiar with Python and seeking to apply data structures and algorithms in various programming scenarios.
Is useful as a practical programming companion to the course's lessons. It presents C++ code examples and exercises that can be used to supplement the course's examples and further the understanding of the practical implementation of data structures and algorithms.
Presents a high-level overview of algorithm design techniques. It covers topics such as greedy algorithms, dynamic programming, and network flow. It is particularly useful for those interested in understanding the thought process behind algorithm design.
Provides in-depth coverage of data structures and algorithm analysis, essential for developing efficient and effective software solutions.
Provides a comprehensive and in-depth treatment of algorithms, covering advanced topics and theoretical foundations that are not covered in the course. It serves as a valuable resource for further exploration of algorithms and complexity analysis.
Explores data structures and algorithms using Java, providing practical examples and exercises for enhanced understanding.
Provides a concise and accessible introduction to essential algorithms and data structures. It covers topics such as sorting, searching, hash tables, and graphs. It is particularly useful for those new to the field or seeking a quick reference.

Share

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

Similar courses

Here are nine courses similar to Introduction to Data Structures and Algorithms in C++.
C++ Standard Library: Sequential Containers
Most relevant
Modern C++ Concurrency in Depth ( C++17/20)
Most relevant
C++ Standard Library: Associative Containers
Most relevant
Data Structures and Algorithms In Java ( DSA )
Most relevant
Data Structures: An Active Learning Approach
Most relevant
Data Structures and Algorithm Design Part I | 数据结构与算法设计(上)
Most relevant
Algorithms and Data Structures - Part 2
Most relevant
Mastering Algorithms: Analysis and Applications
Most relevant
Data Structures and Algorithms: In-Depth using Python
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