Data Structures & Algorithms Using C++
About this Course
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.Created by: IBM
Level: Intermediate
![](http://d27ql944xr9meu.cloudfront.net/4b4a0f110a0dc88e0d25f3ae257b67a8%2F600x400xwidth%2F98%2Fhttps%2Fprod-discovery.edx-cdn.org%2Fuloop%2Fr%3D4%2Fjpeg%2Fmedia%2Fcourse%2Fimage%2Fc50fcb0f-b0c2-4feb-b467-facb248ea3da-8beabd37a2d0.small.jpg)
Related Online Courses
As your program requirements get more complex, you will find that simple additions to the design method make it easy to write well-structured and well-tested code that is easy to maintain. By... more
Information Security is everywhere: as the world becomes more and more digitized, so it becomes more and more hackable. Cyber attacks, data breaches, and even cyber warfare are all very real - so... more
In modern cloud native application development, it’s often times the goal to build out serverlessarchitectures that are scalable, are highly available, and are fully managed. This mean, less o... more
Have you ever wondered how information is transmitted using your mobile phone or a WiFi hotspot? This introductory course seeks to enable you to understand the basic engineering tools used and... more
Learning more about how an Ethereum client works is crucial for Developers and DevOps professionals who are looking to create a private blockchain network or to connect to Ethereum mainnet. As... more