
Explore what data structures are and how linear data structures such as linked lists, queues, and stacks relate to nonlinear structures like trees and graphs.
Explore how a linked list stores data in nodes with next references. Identify the start node, traverse the chain, and note the last node points to null, with no indexes.
Explore how a node stores data of any type and a next reference to the next node, and how joining nodes in a series forms a linked list.
Implement the node class for a linked list in Java, featuring a value and a next reference, and a public constructor that assigns the value and sets next to null.
Learn how to insert a new node into a linked list, including appending at the end and initializing from an empty list, with step-by-step coding in the editor.
Implement the insert function for a singly linked list, traversing from the start to the last node and attaching a new node with the given value.
Create a singly linked list, initialize the start node with five, insert six, seven, eight, and nine, and prepare a function to print the list.
Traverse a linked list from the first node, printing each value on screen as you move through the list, and stop when you reach null.
Traverse a linked list from start to end, printing each node’s value with a current pointer and a while loop that moves to the next node until null.
Describe deleting a node from a linked list in three cases—starting, middle, and last—by updating start, linking previous to next, or setting previous to null.
Implement the delete function for a linked list, handling start-node deletion by updating start to start.next and removing other nodes by linking the previous node to its next.
In this lecture, you delete nodes from a Java linked list, removing seven and five, updating links so the list becomes six, eight, nine, with a print function.
Searches a linked list for a target value by iterating from the head, comparing each node until a match is found or the end is reached.
Implement a search function for a nameplates linked list in Java by traversing the list, comparing values, and reporting when a value is found or not found.
Understand arrays as a linear data structure that stores values in sequence with indexes starting at zero. Learn how array size allocates memory blocks and why unused blocks waste space.
Explore how to declare and initialize static arrays (fixed length) in Java, assign values by index, and print elements for integers and strings, with practice across data types.
Explore the stack data structure as a linear structure where elements are pushed and popped from the top, demonstrating last in, first out behavior and top-to-bottom ordering.
Implement a stack using an array with push, pop, and print, tracking the top index. The lecture demonstrates pushing 100 and 200, then popping to show 200 first.
Explore the queue as a linear data structure where elements are added at the last position by NQ and removed from the first position by Daegu, illustrating first-in, first-out behavior.
This lecture covers implementing a queue class in java using an array Q, with first and last indices, a size 100, and -1 initialization to indicate emptiness.
Implement the enqueue function for the queue, updating first and last indices, handling the empty queue case, and inserting new values at the end while testing with sample inputs.
Traverse a queue with a loop from the first to the last element, starting at index zero, printing 3, 5, 1, and 7 to illustrate queue traversal.
The dequeue operation removes the first element from a queue by advancing the first pointer, updating the last pointer, and setting first and last to -1 when the queue empties.
Explore how a tree, a nonlinear data structure, organizes data as nodes in a hierarchy with a root, parent-child relations, and levels from zero to a maximum level.
Explore the binary search tree, where every node has at most two children to maintain order, with examples showing why three children violate the bst property.
View a binary search tree as a composition of nodes, each with data, a left reference, and a right reference.
Define a binary search tree node class with value, left, and right fields; implement a constructor that assigns the value and initializes left and right to null.
Insert a new node into a binary search tree by comparing it with the root, moving left if smaller and right if larger, until placing it at a null position.
Learn to insert a value into a binary search tree by implementing a recursive insert function from a root initialized to null, placing nodes left or right by value.
Insert values into a binary search tree using the insert function, placing each value left or right by root comparisons, with examples 7, 4, 10, 1, and 6.
Demonstrates preorder traversal of a binary search tree by printing root, then left, then right, using examples like 50, 30 and 90, with nodes 5, 1, 10, 20, 15.
Demonstrates pre-order traversal of a binary tree by printing the root, then using a recursive function to visit the left and right subtrees.
Learn in-order traversal of a binary search tree by visiting left, then root, then right at every subtree, illustrated with a step-by-step example.
Learn in order traversal in a Java binary tree by visiting left subtree, then the root, then right subtree, with run showing 1, 4, 6, 7, 10, 35.
Explore postorder traversal in binary trees by visiting the left subtree, then the right subtree, and finally the root, illustrated with a main tree rooted at 10.
Apply postorder traversal on a binary tree using a recursive function, visiting left, then right, then root, with a base case of null, and verify by printing the left-right-root sequence.
Identify the minimum value node by traversing to the leftmost node in a binary search tree, since smaller values lie to the left of root, making the leftmost node smallest.
Implement an iterative function to find the minimum value node in a binary search tree by traversing left from the root until null. Then return that node.
Delete from a binary search tree handles leaf, one-child, and two-child cases. For two children, replace with the minimum node from the right subtree (leftmost) to keep order.
Implement a recursive delete node function for a binary search tree, handling leaf, one-child, and two-child cases by getting the minimum value node from the right subtree.
Learn how selection sort sorts an array by repeatedly selecting the smallest value in the unsorted portion and swapping it with the first unsorted element.
Implement a selection sort in Java by using nested loops to find the minimum index, swap with a temporary variable, and print the sorted array to verify results.
Discover insertion sort, which divides an array into sorted and unsorted parts, repeatedly inserts the first unsorted element into its proper position by shifting larger elements, yielding a sorted array.
The lecture demonstrates insertion sort in Java, using an outer loop from index one and an inner loop to shift larger elements, yielding an ascending array and printed results.
This course data Structures and Algorithms using java includes explanation of various data structures with coding examples, provided with detail explanation of code side by side with concept building.
Most important Data Structures like
Linked List, Binary Search Tree(BST), stack, Queue are explained in detail with concepts made easy to understand.
Algorithms like
Selection Sort, Insertion Sort are part of this course with visual explanations.
This course is for students who want good understanding of data structures and algorithms and want to understand code.
By taking this course students will be able to use these skills to write or understand data structures in other languages as well, because concepts build from this course are very generic regarding Data structures and Algorithms.
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 animations to help you understand topics, so beside code visual explanations help a lot.
Topics like BST and Linked List need extra care to understand well.
Similarly Selection Sort, Insertion Sort are explained in code and visually.
So by taking this course you will be good in a lot of topics in Data structures.