We may earn an affiliate commission when you visit our partners.
Course image
Josephine Simi N.A., Sripriya S, Abin K Abraham, Senthil Kumar P, and Nisha P

Understanding various data structures and algorithms is the foundation of modern programming.

In this self-paced course you will learn about the characteristics of commonly used data structures and algorithms and how to implement them to be able to conduct efficiency analyses in C++ from scratch.

Read more

Understanding various data structures and algorithms is the foundation of modern programming.

In this self-paced course you will learn about the characteristics of commonly used data structures and algorithms and how to implement them to be able to conduct efficiency analyses in C++ from scratch.

To solve real-world problems efficiently, advanced C++ programs are developed using pointers, dynamic storage, and linear and non-linear data structures. You will gain experience with a variety of algorithm types like recursion, searching, sorting, dynamic programming, greedy, and divide and conquer, which are required to build efficient programs. You will also learn how to measure the efficiency of the program you have written. After completing the course, you will be able to systematically approach coding problems in a step-by-step manner.

There are several implementations that are presented in the development of each data structure. As you solve problems ranging from easy to difficult that address different data structures, you will learn how to select and program various data structures and apply the most suitable algorithms to solve a particular problem.

Solving problems that require different data structures will help you understand the strengths and weaknesses of common data structures and teach you how to choose the right combinations of data structures and algorithms for efficiently solving problems.

What you'll learn

● Different data structures, abstract data types and their applications

● How to implement linear and non-linear data structures

● How to implement stack and queue abstract data types using arrays and linked lists

● How to analyze the efficiency of various algorithms – time and space complexity

● How to implement linear and binary search algorithms and their efficiency analysis

● Different sorting algorithms and their implementations

● Problem solving using iterative, recursive algorithms, their efficiency analysis and understand various algorithm design strategies

What's inside

Syllabus

Introduction to data structures & algorithm involving problem solving, algorithm concept, abstract data types, arrays and linked list.
Introduction to stack and queue data structure, its operations and implementation using arrays and linked lists.
Read more
Analysis of various algorithms, learn how to measure algorithm efficiency, time and space complexity, best, average and worst case analysis.
Understand various searching techniques, linear and binary search algorithms, their efficiency analysis and implementation.
Introduction to various sorting algorithms – Bubble sort, insertion sort, merge sort, quick sort and heap sort, its implementation and efficiency analysis.
Understand various non-linear data structures - Tree. Its real-time applications, implementation, tree traversals and its functionalities. Implementation of Binary Search Tree
Understand and learn graph data structure. Different types of graph , their implementation and other operations.
Understand various Algorithm Design Strategies.
Recursive, Greedy, Dive and Conquer and Dynamic Programming

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Develops knowledge of data structures and design algorithms
Covers various data structures and algorithms, allowing learners to choose the right combination for problem-solving
Provides a step-by-step approach to coding problems, helping learners understand the process
Taught by educators, providing credibility to the course material
Requires no prerequisites, making it accessible to learners with varying backgrounds
Designed for self-paced learning, allowing learners to progress at their own pace

Save this course

Save Data Structures & Algorithms Using 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 Data Structures & Algorithms Using C++ with these activities:
Create a notebook to compile notes, assignments, quizzes, and exams
Creating a notebook will help you organize and review the course materials, which can improve your retention and understanding.
Show steps
  • Purchase a notebook or binder.
  • Divide the notebook into sections for notes, assignments, quizzes, and exams.
  • File all of your course materials in the appropriate sections.
Join a study group and discuss data structures and algorithms
Joining a study group will provide you with an opportunity to discuss the course material with other students and learn from their perspectives.
Browse courses on Data Structures
Show steps
  • Find a study group that meets your schedule and learning style.
  • Attend study group meetings regularly and participate in discussions.
  • Share your knowledge and insights with other members of the group.
Review 'Data Structures and Algorithms in C++' by Michael T. Goodrich, Roberto Tamassia, and Michael H. Goldwasser
Reviewing this book will provide a strong foundation in data structures and algorithms, which are the building blocks of efficient C++ programs.
Show steps
  • Read each chapter carefully and take notes on the key concepts.
  • Work through the practice exercises at the end of each chapter.
  • Complete the review questions at the end of each chapter.
Five other activities
Expand to see all activities and additional details
Show all eight activities
Implement a stack and queue data structure in C++
Implementing a stack and queue will help you understand the fundamental concepts of these data structures and how to apply them in C++ programs.
Browse courses on Stack
Show steps
  • Design the interface for the stack and queue data structures.
  • Implement the push(), pop(), and top() methods for the stack.
  • Implement the enqueue(), dequeue(), and front() methods for the queue.
  • Test your implementation with sample data.
Follow tutorials on recursion, searching, and sorting algorithms
Following tutorials on recursion, searching, and sorting algorithms will help you develop a deeper understanding of these algorithms and how to apply them in practice.
Browse courses on Recursion
Show steps
  • Find a tutorial that covers the algorithm you are interested in.
  • Watch the tutorial and take notes on the key concepts.
  • Implement the algorithm in C++ and test it with sample data.
Solve LeetCode problems on data structures and algorithms
Solving LeetCode problems will help you improve your problem-solving skills and reinforce your understanding of data structures and algorithms.
Browse courses on Data Structures
Show steps
  • Choose a problem that you are interested in.
  • Read the problem statement carefully and understand the requirements.
  • Design and implement a solution using the appropriate data structures and algorithms.
  • Test your solution with sample data.
Attend a workshop on data structures and algorithms
Attending a workshop will provide you with an opportunity to learn from experts in the field and get hands-on experience with data structures and algorithms.
Browse courses on Data Structures
Show steps
  • Find a workshop that is relevant to your interests.
  • Register for the workshop and pay the registration fee.
  • Attend the workshop and participate in the activities.
Write a blog post about a data structure or algorithm that you learned in the course
Writing a blog post will help you solidify your understanding of the topic and share your knowledge with others.
Browse courses on Data Structures
Show steps
  • Choose a data structure or algorithm that you are interested in writing about.
  • Research the topic and gather information from reliable sources.
  • Write a blog post that explains the topic in a clear and concise way.
  • Publish your blog post on a platform where others can read it.

Career center

Learners who complete Data Structures & Algorithms Using C++ will develop knowledge and skills that may be useful to these careers:
Computer Programmer
Computer Programmers write, test, and maintain computer programs. They work in many industries, including business, healthcare, education, and manufacturing. The “Data Structures & Algorithms Using C++” course from IBM may be helpful for those who want to become Computer Programmers by teaching them how to design and implement efficient programs using data structures and algorithms.
Software Developer
Software Developers design, develop, test, implement, and maintain software for computer systems. They work in many industries, including business, healthcare, education, and manufacturing. The “Data Structures & Algorithms Using C++” course from IBM can help those who want to become Software Developers by teaching them how to design and implement efficient software using data structures and algorithms.
Application Developer
Application Developers create, design, and deploy software applications. These applications may be for personal or business use and can be used on a variety of devices, including computers, phones, and tablets. The “Data Structures & Algorithms Using C++” course from IBM can help those who want to become Application Developers by teaching them how to design and implement efficient applications using data structures and algorithms.
Computer Systems Analyst
Computer Systems Analysts study a company or organization’s current computer systems and procedures and provide recommendations on how to improve them. They work with many different people, including users, programmers, and managers. The “Data Structures & Algorithms Using C++” course from IBM may be helpful to those who want to become Computer Systems Analysts by teaching them how to analyze systems and design efficient solutions using data structures and algorithms.
Computer Scientist
Computer Scientists analyze, design, develop, test, maintain and manage computer systems. They design software and study the theory and principles behind computers. They work in research, development, testing, installation, and technical support. The “Data Structures & Algorithms Using C++” course from IBM helps build a foundation for those interested in this field by teaching students how to analyze and design systems using data structures and algorithms, as well as how to implement these systems using C++.
Software Engineer
Software Engineers apply engineering principles to software development. They design, develop, test, and maintain software systems. They work in many industries, including business, healthcare, education, and manufacturing. The “Data Structures & Algorithms Using C++” course from IBM may be helpful for those who want to become Software Engineers by teaching them how to design and implement efficient software systems using data structures and algorithms.
Data Scientist
Data Scientists use data to solve problems and make predictions. They work in many industries, including business, healthcare, education, and manufacturing. The “Data Structures & Algorithms Using C++” course from IBM may be helpful for those who want to become Data Scientists by teaching them how to analyze data and design efficient solutions using data structures and algorithms.
Systems Analyst
Systems Analysts study a company or organization’s current computer systems and procedures and provide recommendations on how to improve them. They work with many different people, including users, programmers, and managers. The “Data Structures & Algorithms Using C++” course from IBM may be helpful to those who want to become Systems Analysts by teaching them how to analyze systems and design efficient solutions using data structures and algorithms.
Data Analyst
Data Analysts collect, analyze, and interpret data to help businesses make better decisions. They use statistical and analytical techniques to identify trends and patterns in data and use this information to create reports and recommendations. The “Data Structures & Algorithms Using C++” course from IBM may be helpful for those interested in Data Analysis, as it teaches students how to analyze data and design efficient solutions using data structures and algorithms.
Quality Assurance Analyst
Quality Assurance Analysts test software to ensure that it is free of defects and meets the needs of users. They work with developers and testers to identify and fix problems. The “Data Structures & Algorithms Using C++” course from IBM may be helpful for those who want to become Quality Assurance Analysts by teaching them how to analyze and design efficient test cases using data structures and algorithms.
Information Security Analyst
Information Security Analysts plan and implement security measures to protect an organization’s computer systems and networks. They work with many different people, including users, programmers, and managers. The “Data Structures & Algorithms Using C++” course from IBM may be helpful for those who want to become Information Security Analysts by teaching them how to design and implement efficient security measures using data structures and algorithms.
Network Administrator
Network Administrators manage and maintain computer networks. They ensure that networks are running smoothly and that data is secure and accessible. The “Data Structures & Algorithms Using C++” course from IBM may be helpful for those who want to become Network Administrators by teaching them how to design and implement efficient networks using data structures and algorithms.
Database Administrator
Database Administrators maintain and administer databases, which are used to store and organize data. They ensure that databases are running smoothly and that data is secure and accessible. The “Data Structures & Algorithms Using C++” course from IBM may be helpful for those interested in Database Administration, as it teaches students how to design and implement efficient databases using data structures and algorithms.
Game Developer
Game Developers design, develop, and test video games. They work with artists, programmers, and testers to create games that are both entertaining and challenging. The “Data Structures & Algorithms Using C++” course from IBM may be helpful for those who want to become Game Developers by teaching them how to design and implement efficient game engines using data structures and algorithms.
Web Developer
Web Developers design, develop, and maintain websites. They work with designers and programmers to create websites that are both visually appealing and functional. The “Data Structures & Algorithms Using C++” course from IBM may be helpful for those who want to become Web Developers by teaching them how to design and implement efficient websites using data structures and algorithms.

Reading list

We've selected 14 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 & Algorithms Using C++.
Is helpful in providing a comprehensive overview of C++ programming. It commonly used textbook at academic institutions.
Is helpful in providing additional reading on data structures and algorithms in C++, with a focus on object-oriented design patterns.
Is helpful in providing additional reading on data structures and algorithms in C++. It commonly used textbook at academic institutions.
Is helpful in providing additional reading on data structures and algorithms in C++. It commonly used textbook at academic institutions.
Is helpful in providing background knowledge on Java programming and data structures. It commonly used textbook at academic institutions.
Is helpful in providing a gentle introduction to Java programming. It commonly used textbook at academic institutions.
Is helpful in providing additional reading on data structures and algorithms in Java. It commonly used textbook at academic institutions.
Is helpful in providing background knowledge on C++ programming. It commonly used textbook at academic institutions.
Is helpful in providing additional reading on data structures and algorithms in Java. It commonly used textbook at academic institutions.
Is helpful in providing a very basic introduction to Java programming. It commonly used textbook at academic institutions.

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 & Algorithms Using C++.
Data Structures: An Active Learning Approach
Most relevant
Algorithmic Design and Techniques
Most relevant
Data Structures & Algorithms IV: Pattern Matching,...
Most relevant
Data Structures & Algorithms II: Binary Trees, Heaps,...
Most relevant
Programming 102: Think Like a Computer Scientist
Most relevant
NP-Complete Problems
Most relevant
Data Structures and Algorithms in C++ For Coding Interview
Most relevant
Mastering Algorithms: Analysis and Applications
Most relevant
Algorithms and Data Structures in Swift 5
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