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

How to Code: Complex Data (edX) EdX
The University of British Columbia,UBCx

How to Code: Complex Data (edX)

Learn how to design more complex programs, using new data structures, abstraction, and generative recursion. 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 learning how to capture common data and control structures using abstraction, your programs will get shorter and better tested.

Self Paced
Self-Paced
Python Data Structures (edX) EdX
University of Michigan,MichiganX

Python Data Structures (edX)

The second course in Python for Everybody explores variables that contain collections of data like string, lists, dictionaries, and tuples. Learning how to store and represent and manipulate data collections while a program is running is an important part of learning how to program.

Self Paced
Self-Paced
Probability and Statistics in Data Science using Python (edX) EdX
University of California, San Diego,UC San DiegoX

Probability and Statistics in Data Science using Python (edX)

Using Python, learn statistical and probabilistic approaches to understand and gain insights from data. The job of a data scientist is to glean knowledge from complex and noisy datasets. Reasoning about uncertainty is inherent in the analysis of noisy data. Probability and Statistics provide the mathematical foundation for such reasoning.

Self Paced
Self-Paced
MATLAB et Octave pour débutants (edX) EdX
École Polytechnique Fédérale de Lausanne,EPFLx

MATLAB et Octave pour débutants (edX)

Premiers pas dans MATLAB et Octave avec un regard vers le calcul scientifique. Commencer à utiliser un logiciel est toujours délicat, on ne sait jamais par où commencer. Dans ce cours nous allons nous concentrer sur la maîtrise d’Octave et MATLAB, de façon à pouvoir par la suite continuer à apprendre de manière indépendante.

Self Paced
Self-Paced
Algorithms and Data Structures Capstone (edX) EdX
University of California, San Diego,UC San DiegoX

Algorithms and Data Structures Capstone (edX)

Synthesize your knowledge of algorithms and biology to build your own software for solving a biological challenge. Building a fully-fledged algorithm to assemble genomes from DNA fragments on a real dataset is an enormous challenge with major demand in the multi-billion dollar biotech industry. In this capstone project, we will take the training wheels off and let you design your own optimized software program for genome sequencing.

Self Paced
Self-Paced
How to Code: Simple Data (edX) EdX
The University of British Columbia,UBCx

How to Code: Simple Data (edX)

Learn systematic program design - how to write programs that tell a clear story about what they do, are well-tested, and easy to improve. This programming course takes a unique approach, as it focuses on learning a systematic programming method rather than a programming language. This practical approach will help you channel your creativity so that you can program well in any language.

Self Paced
Self-Paced
Data Structures and Algorithm Design Part II | 数据结构与算法设计(下) (edX) EdX
Tsinghua University,TsinghuaX

Data Structures and Algorithm Design Part II | 数据结构与算法设计(下) (edX)

Learn the basics of data structures and methods to design algorithms and analyze their performance. 本课程旨在围绕各类数据结构的设计与实现,揭示其中的规律原理与方法技巧;同时针对算法设计及其性能分析,使学生了解并掌握主要的套路与手段。

Self Paced
Self-Paced
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
Introducción a la programación en C: Tipos de datos y estructuras (edX) EdX
Universidad Autonoma de Madrid

Introducción a la programación en C: Tipos de datos y estructuras (edX)

Aprende a programar en C, uno de los lenguajes de programación más usados. En este curso en línea adquirirás los conocimientos necesarios para comenzar a convertirte en un experto en C. Este curso en línea te permitirá aprender los conceptos básicos que te ayudarán a desarrollar las habilidades de programación necesarias para iniciarte en el lenguaje C.

Self Paced
Self-Paced
Laboratorio di Programmazione (edX) EdX
University of Naples Federico II,FedericaX

Laboratorio di Programmazione (edX)

Impara a risolvere problemi complessi attraverso l'uso del computer e avvicinati alla magia degli algoritmi. Il linguaggio di programmazione è uno degli strumenti che abbiamo per interpretare e risolvere i problemi di tutti i giorni. Un linguaggio che è alla base di problemi comuni, come le previsioni del tempo o l'analisi della deformazione di una struttura di un'auto in un incidente stradale.

Self Paced
Self-Paced