EdX

Data Structures & Algorithms Using C++ (edX)

Offered by IBM,
Data Structures & Algorithms Using C++ (edX)

Build efficient programs by learning how to implement data structures using algorithmic techniques and solve various computational problems using the C++ programming language. 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.

Class Deals by MOOC List - Click here and see EdX's Active Discounts, Deals, and Promo Codes.

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.
This course is part of the C++ Programming Essentials Professional Certificate.

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

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.
  • 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
Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

HTML5 Apps and Games (edX) EdX
World Wide Web Consortium - W3C,W3Cx

HTML5 Apps and Games (edX)

Today, developers are increasingly moving from native to HTML5-based apps. Increase your ability to design and deliver innovative services on the Web! Want to learn advanced HTML5 tips and techniques? This is the course for you! Find out more about the powerful Web features that will help you create great content and apps.

Self Paced
Self-Paced
Introduction to Functional Programming (edX) EdX
Delft University of Technology,DelftX

Introduction to Functional Programming (edX)

The aim of this course is to teach the foundations of functional programming and how to apply them in the real world. Broadly speaking, functional programming is a style of programming in which the primary method of computation is the application of functions to arguments. Among other features, functional languages offer a compact notation for writing programs, powerful abstraction methods for structuring programs, and a simple mathematical basis that supports reasoning about programs.

No sessions available
5-12 Weeks
MyCS: Computer Science for Beginners (edX) EdX
Harvey Mudd College

MyCS: Computer Science for Beginners (edX)

In this fun and creative introduction to computer science for learners of all ages, you'll learn and apply concepts by programming in Scratch. How do computers work? What do computer scientists do? What does it take to make a computer or a computer program work? We answer these questions and more with MyCS: Computer Science for Beginners.

No sessions available
5-12 Weeks
Jugando con Android - Aprende a programar tu primera App (edX) EdX
Universidad Autonoma de Madrid

Jugando con Android - Aprende a programar tu primera App (edX)

Aprende a programar en Android a través de la implementación paso a paso de un juego interactivo. Según datos publicados por Gartner a nivel mundial, casi el 60% de los teléfonos vendidos en 2013 fueron teléfonos inteligentes. Alrededor del 80% de estos teléfonos llevaban en su interior el sistema operativo Android. No cabe duda, por lo tanto, de que formarse en Android es una de las mejores inversiones que puede hacer un programador en la actualidad.

No sessions available
5-12 Weeks
Mobile Computing with App Inventor - CS Principles (edX) EdX
Trinity College, Hartford

Mobile Computing with App Inventor - CS Principles (edX)

This course introduces basic principles of computer science by designing and building mobile apps in App Inventor for Android. Learn to use the open development tool, App Inventor, to program on Android devices. You will learn how to design and build mobile apps -- apps that are aware of their location, send and receive text messages, and give advice and directions. The only limit on the types of apps you will learn to build is your own imagination!

No sessions available
5-12 Weeks
Machine Learning with Python: from Linear Models to Deep Learning (edX) EdX
MIT,MITx

Machine Learning with Python: from Linear Models to Deep Learning (edX)

An in-depth introduction to the field of machine learning, from linear models to deep learning and reinforcement learning, through hands-on Python projects. Machine learning methods are commonly used across engineering and sciences, from computer systems to physics. Moreover, commercial sites such as search engines, recommender systems (e.g., Netflix, Amazon), advertisers, and financial institutions employ machine learning algorithms for content recommendation, predicting customer behavior, compliance, or risk.

May 27th 2024
13-24 Weeks
Introduction to Computer Science and Programming Using Python (edX) EdX
MIT,MITx

Introduction to Computer Science and Programming Using Python (edX)

An introduction to computer science as a tool to solve real-world analytical problems using Python 3.5. This course is the first of a two-course sequence: Introduction to Computer Science and Programming Using Python, and Introduction to Computational Thinking and Data Science. Together, they are designed to help people with no prior exposure to computer science or programming learn to think computationally and write programs to tackle useful problems.

Jan 24th 2024
5-12 Weeks
CS50's Introduction to Computer Science (edX) EdX
HarvardX,Harvard University

CS50's Introduction to Computer Science (edX)

An introduction to the intellectual enterprises of computer science and the art of programming. This is CS50, Harvard University's introduction to the intellectual enterprises of computer science and the art of programming for majors and non-majors alike, with or without prior programming experience. An entry-level course taught by David J. Malan, CS50 teaches students how to think algorithmically and solve problems efficiently.

Self Paced
Self-Paced