Data Structures and Algorithms In C++

Fundamentals with hands on coding sessions , Learn about Data Structures, Containers , NTL , Algorithms
Free tutorial
Rating: 3.7 out of 5 (66 ratings)
4,711 students
1hr 17min of on-demand video
English [Auto]

Data Structures


  • Basic Programming Experience in C or C ++


This course lets you dive into designing data structures and algorithms with the use of containers and libraries such as STL and NTL. It also introduces you to dynamic programming and advanced arithmetic and polynomial calculation using C++.


After trying out various other names, Stroustrup began work on an upgrade for C with Classes in 1982 and gave it the name "C++" (++ is the increment operator in C). Virtual functions, function name and operator overloading, references, constants, type-safe free-store memory allocation (new/delete), better type checking, and single-line comments in the BCPL style with two forward slashes (//) were among the new features added. Additionally, Stroustrup created Cfront, a brand-new C++ standalone compiler.

Stroustrup introduced the first stream input/output library in 1984. Doug McIlroy[1] proposed the idea of supplying an output operator rather than a specific output function (who had previously suggested Unix pipes). The ideas listed below have served as the foundation for C++'s development and progress over the years: 

  • Its features must be instantly applicable to real-world programs and must be motivated by realistic challenges.

  • Every function ought to be implementable (with a reasonably obvious way to do so).

  • Programmers should be allowed to choose their preferred programming approach, and C++ should fully support that approach.

  • It should offer tools for segmenting programs into distinct, well-defined components and tools for joining independently created parts.

  • User-created types require the same level of support.

Who this course is for:

  • Object Oriented Programmers and Developers


Computer Scientist
Abhinav Raj
  • 3.6 Instructor Rating
  • 319 Reviews
  • 13,301 Students
  • 28 Courses

As an IT consultant and researcher, I am proficient in a variety of programming languages, including Java, Python, and C++, and have experience with both traditional and agile development methodologies.

I am a proactive and detail-oriented individual, with excellent problem-solving and communication skills. With a diverse skill set and work experience in a variety of areas, including network infrastructure, cybersecurity, AI, cloud/edge computing, and project management.

Top companies trust Udemy

Get your team access to Udemy's top 19,000+ courses