4.22 out of 5
4.22
2316 reviews on Udemy

Introduction to Data Structures & Algorithms in Java

Designed to help understand the fundamentals of DS & Algorithms really well. A must have for programming interviews.
Instructor:
Raghavendra Dixit
19,434 students enrolled
English [Auto-generated]
Be able to know and implement various data structures and algorithms
Be able to write your own algorithms and understand if their running time is good or bad

This course introduces some basic data structures (arrays, linked lists, stacks, queues, trees and heaps) and algorithms (various sorting algorithms, and algorithms for operations on binary search trees and heaps). We will also cover recursion in this course. Use of graphics and animations makes the lectures very easy to understand and digest. After taking this course, you will loose your fear for data structures and algorithms.

Introduction to Algorithms

1
Introduction
2
Euclid's algorithm
3
Bubble Sort algorithm
4
Why study data structures & algorithms
5
Correctness of an algorithm
6
Chapter Quiz

Analysis of Algorithms

1
Note on this section
2
Introduction
3
How to calculate the time complexity
4
The RAM model of computation
5
Time complexity of Bubble sort algorithm
6
Pseudo code : Bubble sort algorithm
7
The Big O notation
8
Using Big O notation : Examples
9
Comparison of running times
10
Chapter Quiz

Basic Sorting and Search Algorithms

1
Selection Sort
2
Selection Sort : Pseudocode

One of the problems that people face in writing algorithms is how to translate their thoughts into a programming language. Many people cannot even start writing the very first statement of an algorithm. I suggest that if you are having such trouble, don't try to solve the whole problem together, rather break it down into smaller, easier parts. For e.g. try doing the following in writing code for the selection sort algorithm -

  • First try to write a method, which just finds the minimum number in the data array. Don't think about anything else, just that method. If you write it in a different method, then you may need to pass the data array as a parameter to that method. Return the index of that minimum element from this method.
  • Now change the method to find the minimum number STARTING FROM A PARTICULAR INDEX. So you will need to pass this index as a parameter.
  • Write another method which can swap items in an array, located at two different indexes. What parameters should be passed to this method?

Hopefully, by this time you will have enough clarity on completing the sorting algorithm, if you understood the pseudo code.

3
Introduction to Insertion Sort
4
Applying Insertion Sort algorithm to cue balls
5
Insertion Sort: Pseudocode
6
O(n²) sorting algorithms - Comparison
7
In place sorting
8
Stable Vs Unstable Sorts
9
Searching elements in an un ordered array
10
Searching elements in an ORDERED array
11
Searching elements in an ORDERED array - contd.
12
Inserting and Deleting items in an ORDERED array
13
Sorting any type of object

Try to write generic sort methods, like shown in the InsertionSortWithGenerics.java, for Bubble sort and Selection sort algorithms as an exercise. But if you don't want to get into generics at this point, you may choose to skip this section.

14
Chapter Quiz
15
Assignment

Linked Lists

1
What is a Linked List?
2
Implementing a Linked List in Java
3
Inserting a new Node
4
Length of a Linked List
5
Deleting the head node
6
Searching for an Item
7
Using java generics to parameterize the LinkedList
8
Doubly Ended Lists
9
Inserting data in a sorted Linked List
10
Doubly Linked List
11
Insertion Sort revisited
12
Chapter Quiz
13
Assignment

Stacks and Queues

1
Stacks
2
Abstract Data Types
3
Implementing Stacks using Arrays
4
Queues
5
Queues using Arrays
6
Double Ended Queues
7
Double Ended Queues using Arrays
8
Chapter Quiz
9
Assignment

Recursion

1
Introduction
2
Understanding Recursion
3
Tail recursion
4
Tower of Hanoi
5
Tower of Hanoi - Implementation
6
Merge Sort
7
Merge Sort - Pseudocode
8
Merge Step - Pseudocode
9
Time Complexity of Merge Sort
10
Chapter Quiz
11
Assignment

Binary Search Trees

1
The Tree Data structure
2
Binary Trees
3
Binary Search Trees
4
Finding an item in a Binary Search Tree
5
Implementing the find method
6
Inserting an item in a Binary Search Tree
7
Deleting an Item : Case 1
8
Deleting an Item - Case 2
9
Deleting an Item - Case 3
10
Deleting an Item - Soft Delete
11
Finding smallest & largest values
12
Tree Traversal : In Order
13
Tree Traversal : Pre Order
14
Tree Traversal : Post Order
15
Unbalanced Trees Vs Balanced Trees
16
Height of a Binary Tree
17
Time Complexity of Operations on Binary Search Trees
18
Chapter Quiz
19
Assignment

More Sorting Algorithms

1
Introduction
2
QuickSort
3
QuickSort: The partition step
4
Shell Sort
5
Shell Sort: Example
6
Counting Sort
7
Radix Sort
8
Bucket Sort
9
Chapter Quiz
You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.2
4.2 out of 5
2316 Ratings

Detailed Rating

Stars 5
1028
Stars 4
843
Stars 3
316
Stars 2
74
Stars 1
55
6128c0556db28eb2c0fb2efbf48b80ec
30-Day Money-Back Guarantee

Includes

5 hours on-demand video
11 articles
Full lifetime access
Access on mobile and TV
Certificate of Completion
Demos
Support Buy $0