
Discover how data structures organize data into structured formats, covering linear forms like arrays, linked lists, queues, and stacks, and nonlinear forms such as trees and graphs.
Explore how a linked list stores data in nodes with a next reference, starting at the start node and ending at null. Prepare to implement Node class in code editor.
Understand how a node stores data of any type and points to the next node in a singly linked list. See how those nodes join to form the linked list.
Implement a node for a singly linked list using a struct with an integer value and a next pointer, to link to the next node and save memory.
Implement a function to create a new node in a C++ linked structure by allocating a node, assigning its value, setting next to null, and returning the node pointer.
Learn how to insert a new node into a linked list, at the end or as the starting node when the list is empty, with next set to null.
Learn to implement a linked list insert function in C++ that creates the first node when the list is empty and appends a new node at the end.
Learn how to insert values into a linked list in C++ by updating the start pointer with each insert, building a 10, 20, 30, 40 list from null.
Traverse a linked list by starting at the first node and iterating through each value, printing 10, 20, 30, and 40 until the next node is null.
Learn to traverse a linked list with a print values function using a current pointer, printing node's value and advancing to next until null, as in 10, 20, 30, 40.
Optimize a linked list in this data structures and algorithms course by turning the start variable global, removing it from function arguments, and boosting efficiency in insert and print.
Learn how to search for a value in a linked list by traversing from the head, comparing each node, and signaling found or not found when you reach null.
Implement a linked list search function in c++ by traversing nodes from the head to find a target value. Return when found and report when not found.
Learn to delete a node in a linked list by handling three cases: starting node, middle node, and last node, updating start, previous, and next pointers accordingly.
Implement a delete node function for a linked list in c++, handling deletions at the start, middle, and end with loop traversal and correct pointer adjustments.
Explain the stack as a linear data structure where elements are added to the top and removed from the top, following last-in, first-out order, as shown with 1,2,3,4.
Learn to implement a stack using arrays in C++, with a Stack class, Bush push, Bob pop, and brain start print, while tracking the top.
Define a queue as a linear data structure. Serve the first element first, with new elements entering at the last and removal occurring from the front.
Define a queue class named Q in c++, with first and last indices and an internal array Q; initialize first and last to -1 to denote an empty queue.
Implement the enqueue function to add elements to a queue by updating first and last indices when the queue is empty, then store the new value in the array.
Traverse a queue by iterating with a loop from the first index (zero) to the last, printing values in order 3, 5, 1, 7.
Implement a queue traversal function in c++, printing all values from first to last. Check for empty queues by testing first against minus one and expose the function publicly.
See how removing an element from a queue works by moving the first to the next position, updating first and last, and handling an empty queue.
Learn to implement a dequeue function named Daegu that removes elements from a queue by advancing the front, handles empty and single-element resets, and reports when empty.
Explore tree data structure: a nonlinear hierarchy of nodes with a root, parent-child relationships, and leaves across levels, from root (level zero) to the maximum level.
A binary search tree requires each node to have at most two children; a node with three children breaks the rule, so the right tree is not a binary search tree.
Explain how a binary search tree node stores data and uses left and right references to connect to child nodes.
Define a binary search tree node as a struct with a value and left and right pointers, where each node points to its left and right child nodes.
Create a new node function for the node struct that takes a value, initializes the node, sets left and right to null, and returns the node via a pointer.
Insert a new node into a binary search tree by comparing with the root and moving left or right to place it in the correct position.
Implement the insert function for a binary search tree, handling a null root by creating a new node, then recursively insert left or right and return root.
Insert values into a binary search tree with an insert function, starting from a null root, placing values left or right until the tree forms; test with three retrieval functions.
Explore preorder traversal on a binary search tree by printing the root first, then the left subtree, and finally the right subtree, as demonstrated in the example.
Implement pre-order traversal on a binary search tree by printing the root, then recursively visiting left and right. Validate by comparing runtime output with the expected sequence.
Master inorder traversal on a binary tree by visiting left, then root, then right. The example demonstrates printing left, root, and right at each subtree.
Implement inorder traversal on a binary tree in C++ with a recursive function that prints values in left, root, right order.
Learn how postorder traversal visits left and right subtrees before the root in binary trees, with a step-by-step example using a root of 10 to illustrate the left-right-root sequence.
Implement postorder traversal by recursively visiting the left subtree, then the right, and finally printing the root value, using a driver function that handles the null base case.
Identify the minimum value node by traversing to the leftmost node in a binary search tree. Move left from the root to reach the smallest value, as shown by examples.
implement the get minimum value node function for a binary search tree, returning the leftmost node with the minimum value and traversing left from the root.
explains deleting a node in a binary search tree by leaf, one-child, and two-child cases, replacing a two-child node with the minimum value node in right subtree to preserve order.
Learn to implement a recursive delete node function for binary search trees in c++, using a pointer to node and handling leaf, one-child, and two-child cases with right-subtree minimum value.
Delete a value from a binary search tree using the delete node function, replacing it with the leftmost node from the right subtree. The test confirms 10 is removed.
Learn how selection sort finds the smallest value in the unsorted array and swaps it with the first unsorted position, progressively shrinking the unsorted region until the array is sorted.
Learn data structures and algorithms using c++ by implementing selection sort on arrays with nested loops to locate the minimum, swap using a temporary variable, and produce ascending order.
Learn how insertion sort divides an array into a sorted and unsorted part and repeatedly insert the first value from the unsorted part into the sorted portion, in ascending order.
Implement insertion sort on an array by iterating from index one, shifting larger values in the sorted portion, and placing the unsorted value into its correct position.
This course Data Structures and Algorithms in C++ focus on building concepts of students in this domain.
Data Structures like Trees, Linked list and others are explained in depth so that students have better understanding of these topics and coding lectures are helpful in getting depth understanding.
Coding lectures beside graphical explanation in this course make it easier to understand things in Data structures.
Algorithms are explained and coded so that students learn better.
So this course is for students who want to learn in fun and easy way, and get understanding of things in Data Structures and Algorithms.
Advanced topics like BST in Tree section is elaborated in this course.
Topics like BST and Linked List are in very detail so that you can have good grip over them and they are of core importance.
There are visual animations to help you understand topics better, so beside code visual explanations help a lot.
Topics like BST C++ and Linked List C++ need extra care to understand well, but if learned correctly can help.
Similarly Selection Sort, Insertion Sort using C++ are explained in code and visually.
Taking this course you will be good in a lot of topics in Data structures in C++
Stay Blessed