
Learn data structures in C++, including linked lists and doubly linked lists, framed as abstract data types. Each video presents a visual representation before diving into code.
Explore linked lists by building a node class with data and a next pointer, and a linked list class with header, tail, and size, plus a getter for size.
Learn to append to a linked list by creating a new node and updating header, tail, and size for empty and non-empty lists.
Learn to remove the last node from a linked list in C++, handling empty and single-node edge cases and using a two-pointer traversal to update tail and delete the node.
Remove at a certain position from a linked list demonstrates handling valid positions, removing the first or last node, and traversing to delete middle nodes while updating pointers and size.
Prepend to a doubly linked list inserts a new node at the beginning, handling empty and nonempty cases by updating header, tail, and size.
Append a node to a doubly linked list, handling empty and nonempty cases. Create the node, update header and tail, set next and prev, and increment size.
Explore what a heap is as a binary tree with at most two children, and learn min and max heap properties, the complete-tree condition, and array representation for implementation.
Insert data into a min-heap or max-heap by placing it at the last position and percolating up with swaps to the root.
In this course, we're going to be learning about data structures using C++. We're going to be covering with Linked List and Doubly Linked list data structures. Afterwards we will be covering Abstract Data Types. An Abstract Data Type describes what is expected from a data structure. For example a Stack must have a push and pop method. So we will be covering the following Abstract Data Types, such as a Stack,Queue,Binary Search Tree, Min/Max Heap.