YoVDO

Data Structures - Full Course Using C and C++

Offered By: freeCodeCamp

Tags

Algorithms and Data Structures Courses C Programming Courses C++ Courses

Course Description

Overview

Embark on a comprehensive 10-hour course exploring data structures using C and C++. Delve into essential concepts including linked lists, stacks, queues, trees, and graphs. Implement various data structures, learn about their properties, and master traversal techniques. Gain hands-on experience with topics such as inserting and deleting nodes, reversing linked lists, evaluating expressions, and representing graphs. Develop a strong foundation in data structures to enhance your programming skills and problem-solving abilities. Prerequisite knowledge of C pointers is recommended for optimal understanding of the course material.

Syllabus

Introduction to data structures.
Data Structures: List as abstract data type.
Introduction to linked list.
Arrays vs Linked Lists.
Linked List - Implementation in C/C++.
Linked List in C/C++ - Inserting a node at beginning.
Linked List in C/C++ - Insert a node at nth position.
Linked List in C/C++ - Delete a node at nth position.
Reverse a linked list - Iterative method.
Print elements of a linked list in forward and reverse order using recursion.
Reverse a linked list using recursion.
Introduction to Doubly Linked List.
Doubly Linked List - Implementation in C/C++.
Introduction to stack.
Array implementation of stacks.
Linked List implementation of stacks.
Reverse a string or linked list using stack..
Check for balanced parentheses using stack.
Infix, Prefix and Postfix.
Evaluation of Prefix and Postfix expressions using stack.
Infix to Postfix using stack.
Introduction to Queues.
Array implementation of Queue.
Linked List implementation of Queue.
Introduction to Trees.
Binary Tree.
Binary Search Tree.
Binary search tree - Implementation in C/C++.
BST implementation - memory allocation in stack and heap.
Find min and max element in a binary search tree.
Find height of a binary tree.
Binary tree traversal - breadth-first and depth-first strategies.
Binary tree: Level Order Traversal.
Binary tree traversal: Preorder, Inorder, Postorder.
Check if a binary tree is binary search tree or not.
Delete a node from Binary Search Tree.
Inorder Successor in a binary search tree.
Introduction to graphs.
Properties of Graphs.
Graph Representation part 01 - Edge List.
Graph Representation part 02 - Adjacency Matrix.
Graph Representation part 03 - Adjacency List.


Taught by

freeCodeCamp.org

Related Courses

Computer Graphics
University of California, San Diego via edX
Intro to Parallel Programming
Nvidia via Udacity
Initiation à la programmation (en C++)
École Polytechnique Fédérale de Lausanne via Coursera
C++ For C Programmers, Part A
University of California, Santa Cruz via Coursera
Introduction à la programmation orientée objet (en C++)
École Polytechnique Fédérale de Lausanne via Coursera