Introduction to Data Structures and Algorithms in Java
- Offered byUDEMY
Introduction to Data Structures and Algorithms in Java at UDEMY Overview
Duration | 21 hours |
Mode of learning | Online |
Schedule type | Self paced |
Difficulty level | Beginner |
Credential | Certificate |
Introduction to Data Structures and Algorithms in Java at UDEMY Highlights
- 21 hours of video content
- Earn a certificate upon successful completion
- Gain Lifetime Access to Courseware
Introduction to Data Structures and Algorithms in Java at UDEMY Course details
- Anyone who wants to learn data structures and algorithms introductory
- Anyone appearing for interviews, can be used to understand from grounds up, or as a quick revision
- Gain a thorough understanding of data structures and algorithms for a review or to set yourself apart from other candidates during an interview.This course will teach you everything you need to know to develop basic algorithms and data structures, but its also a great review for people who missed something the first time around.
Introduction to Data Structures and Algorithms in Java at UDEMY Curriculum
Introduction to Algorithms
Introduction
Euclid's algorithm
Bubble Sort algorithm
Why study data structures & algorithms
Correctness of an algorithm
Analysis of algorithms
Introduction
How to calculate the time complexity
The RAM model of computation
Time complexity of Bubble sort algorithm
Pseudo code : Bubble sort algorithm
The Big O notation
Using Big O notation : Examples
Comparison of running times
Basic sorting and search algorithm
Selection Sort
Selection Sort : Pseudocode
Introduction to Insertion Sort
Applying Insertion Sort algorithm to cue balls
Insertion Sort: Pseudocode
O(n²) sorting algorithms - Comparison
In place sorting
Stable Vs Unstable Sorts
Searching elements in an un ordered array
Searching elements in an ORDERED array
Searching elements in an ORDERED array - contd.
Inserting and Deleting items in an ORDERED array
Sorting any type of object
Linked Lists
What is a Linked List?
Implementing a Linked List in Java
Inserting a new Node
Length of a Linked List
Deleting the head node
Searching for an Item
Using java generics to parameterize the LinkedList
Doubly Ended Lists
Inserting data in a sorted Linked List
Doubly Linked List
Insertion Sort revisited
Stacks and Queues
Stacks
Abstract Data Types
Implementing Stacks using Arrays
Queues
Queues using Arrays
Double Ended Queues
Double Ended Queues using Arrays
Recursion
Introduction
Understanding Recursion
Tail recursion
Tower of Hanoi
Tower of Hanoi - Implementation
Merge Sort
Merge Sort - Pseudocode
Merge Step - Pseudocode
Time Complexity of Merge Sort
Binary Search Trees
The Tree Data structure
Binary Trees
Binary Search Trees
Finding an item in a Binary Search Tree
Implementing the find method
Inserting an item in a Binary Search Tree
Deleting an Item : Case 1
Deleting an Item - Case 2
Deleting an Item - Case 3
Deleting an Item - Soft Delete
Finding smallest & largest values
Tree Traversal : In Order
Tree Traversal : Pre Order
Tree Traversal : Post Order
Unbalanced Trees Vs Balanced Trees
Height of a Binary Tree
Time Complexity of Operations on Binary Search Trees
More Sorting Algorithms
Introduction
QuickSort
QuickSort: The partition step
Shell Sort
Shell Sort: Example
Counting Sort
Radix Sort
Bucket Sort
Heaps
Introduction
Deleting the root
Inserting an item in a heap
Heaps as Priority Queues
Representing heaps using Arrays
Heap Sort
Building a heap
Hashtables
Introduction
Direct Access Tables
Hashing
Resolving collisions through chaining
The Hash function
Open Addressing to resolve collisions
Strategies for Open Addressing
Time Complexity: Open Addressing