Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Data Structures and Algorithms In Java
About Course
Data Structures and Algorithms in Java (1:35)
Source Code Repository
Introduction to Data Structures and Algorithms
Introduction to Data Structures and Algorithms (2:54)
Measuring Running time of Algorithms (2:19)
Asymptotic Analysis (2:46)
Big O Notation (4:06)
Finding Big O (5:21)
Tight and Loose Upper Bounds (1:30)
Big O analysis of Algorithms (2:00)
Finding Time complexity (3:16)
Big O analysis of Algorithms: Examples (11:24)
Worst case, Best case and Average Case Analysis (3:47)
Common Complexities (3:00)
Abstract Data Types (3:49)
Linked List
Introduction (3:44)
Traversing and Searching a Single Linked List (4:49)
Finding references in a single linked list (5:22)
Insertion in a Single Linked List (4:11)
Insertion in a Single Linked List ..contd (7:02)
Deletion in a Single Linked List (3:09)
Reversing a Single Linked List (2:38)
Sorting a Linked list using Bubble Sort (7:52)
Merging of sorted Linked lists (11:22)
Sorting a Linked list using Merge Sort (4:31)
Finding and Removing a cycle in a Linked list (10:24)
Doubly linked list (3:05)
Insertion in a doubly linked List (6:25)
Deletion from doubly linked list (5:14)
Reversing a doubly linked list (2:48)
Circular linked list (2:46)
Insertion in a circular Linked List (3:55)
Deletion in a circular linked list (3:33)
Concatenation (3:01)
Linked List with Header Node (4:05)
Sorted linked list (5:12)
Stack and Queue
Introduction (2:09)
Stack (1:29)
Array Implementation of Stack (4:51)
Linked List Implementation of Stack (4:23)
Queue (1:13)
Array Implementation of Queue (6:46)
Linked List implementation of Queue (4:35)
Queue through Circular Linked List (3:14)
Circular Queue (9:25)
Deque (7:46)
Priority Queue (3:11)
Checking validity of an expression containing nested parentheses (6:01)
Evaluating Arithmetc Expressions (3:22)
Polish Notations (5:56)
Converting infix expression to postfix expression (10:46)
Evaluation of postfix expression (3:25)
Recursion
Introduction (2:43)
Flow of control in Recursive functions (2:10)
Winding and unwinding phase (1:17)
Factorial (2:41)
Printing numbers from 1 to n (2:42)
Sum of digits of an integer (2:59)
Base conversion (2:22)
Finding nth power of a number (1:57)
Euclids Algorithm (3:02)
Fibonacci Series (2:43)
Tower of Hanoi (6:53)
Tail recursion (1:50)
Recursion vs. Iteration (1:26)
Binary Tree
Intoduction to trees (6:01)
Binary Tree (6:50)
Strictly Binary Tree and Extended Binary Tree (5:15)
Full binary tree and Complete Binary Tree (4:58)
Array Representation of Binary trees (3:26)
Linked Representation of Binary Trees (1:15)
Binary Tree in Java (2:14)
Traversal in Binary Tree (2:06)
Preorder Traversal (5:12)
Inorder Traversal (4:59)
Postorder Traversal (4:44)
Level order traversal (3:25)
Finding height of a Binary tree (3:03)
Constructing Binary tree from Traversals (1:35)
Constructing binary tree from inorder and preorder traversals (4:23)
Constructing binary tree from inorder and postorder traversals (3:49)
Binary Search Tree
Introduction (4:27)
Traversal in Binary Search Tree (1:54)
Searching in a Binary Search Tree (6:38)
Nodes with Minimum and Maximum key (2:58)
Insertion in a Binary Search Tree (7:48)
Deletion in a Binary Search Tree (12:43)
Heap
Introduction (2:40)
Heap Representation (2:12)
Insertion in Heap (7:15)
Deletion (7:58)
Building a heap (4:34)
Heap Applications (1:06)
Sorting
Introduction (5:02)
Sort Stability (2:25)
Selection Sort (1:49)
Selection Sort : Example (1:18)
Selection Sort in Java (2:56)
Analysis of Selection Sort (2:20)
Bubble Sort (2:24)
Bubble Sort : Example (2:11)
Bubble Sort in Java (4:25)
Improvement in Bubble Sort (2:14)
Analysis of Bubble Sort (2:04)
Insertion Sort (2:37)
Insertion Sort : Example (2:22)
Insertion Sort in Java (3:48)
Analysis of Insertion sort (4:40)
Shell Sort (2:24)
Shell Sort : Example (2:07)
Shell Sort in Java (3:42)
Analysis of Shell Sort (3:29)
Merging two Sorted Arrays (6:53)
Recursive Merge Sort (2:29)
Recursive Merge Sort in Java (4:08)
Analysis of Merge Sort (0:36)
Iterative Merge Sort (1:31)
Iterative Merge Sort in Java (2:53)
Quick Sort (6:56)
Quick Sort in Java (7:10)
Analysis of Quick Sort (3:00)
Binary Tree sort (3:05)
Binary Tree Sort in Java (1:36)
Analysis of Binary Tree Sort (1:14)
Heap Sort (7:02)
Heap Sort : Java implementation and Analysis (2:06)
Radix Sort (4:17)
Radix Sort : Java implementation and Analysis (5:57)
Address Calculation Sort (4:50)
Address Calculation Sort in Java (2:27)
Analysis of Address Calculation Sort (1:02)
Searching
Linear Search (5:12)
Variations of Linear Search (6:53)
Binary Search (6:04)
Implementation of Binary Search (13:37)
Analysis of Binary Search (2:55)
Hashing
Direct Addressing (8:34)
Bonus Section
Bonus Lecture
Teach online with
Array Implementation of Queue
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock