Algorithms Data Structures in Java #1 (+INTERVIEW QUESTIONS)

Basic Algorithms and Data Structures: AVL tree, Binary Search Trees, Arrays, B Trees, Linked Lists, Stacks and HashMaps

4.53 (2878 reviews)
Udemy
platform
English
language
Software Engineering
category
instructor
Algorithms Data Structures in Java #1 (+INTERVIEW QUESTIONS)
25,575
students
23 hours
content
Mar 2024
last update
$84.99
regular price

What you will learn

grasp the fundamentals of algorithms and data structures

detect non-optimal code snippets

learn about arrays and linked lists

learn about stacks and queues

learn about binary search trees

learn about balanced binary search trees such as AVL trees or red-black trees

learn about priority queues and heaps

learn about B-trees and external memory

learn about hashing and hash tables

Why take this course?

This course is about data structures and algorithms. We are going to implement the problems in Java. The course takes approximately 20 hours to complete. It is highly recommended to type out these data structures several times on your own in order to get a good grasp of it. 

Section 1:

  • data structures and abstract data types

Section 2 - Arrays

  • what are arrays

  • what is random access and how to indexes

Section 3 - Linked Lists

  • linked lists and doubly linked lists

  • linked list related interview questions

Section 2 - Stacks and Queues:

  • what are stacks and queues

  • heap memory and stack memory

  • visualizing stack memory

Section 3 - Binary Search Trees (BSTs):

  • what are tree data structures?

  • how to achieve O(logN) logarithmic running time?

  • binary search trees

Section 4 - AVL Trees

  • what is the problem with binary search trees?

  • balanced search trees: AVL trees

  • rotations

Section 5 - Red-Black Trees

  • what are red-black trees?

  • what is recovering operation?

  • comparing AVL trees and red-black trees

Section 6 - Splay Trees

  • splay trees and caches

  • achieve O(1) running time for getting the recently visited item

Section 7 - Heaps and Priority Queues

  • what are priority queues?

  • what is heap data structure?

  • how to do sorting in O(NlogN) with heaps?

Section 8 - B-Trees

  • external memory and the main memory (RAM)

  • B-trees and their applications in memory

  • B* trees and B+ trees

Section 9 - Hashing and HashMaps:

  • what are hashing and hashtables (hashmaps)

  • what are hash-functions

  • how to achieve O(1) running time complexity

Section 10 - Sorting Algorithms

  • basic sorting algorithms

  • bubble sort and selection sort

  • insertion sort and shell sort

  • quicksort and merge sort

  • comparison based and non-comparison based approaches

  • string sorting algorithms

  • bucket sort and radix sort

Section 11 - Substring Search Algorithms

  • substring search algorithms

  • brute-force substring search

  • Z substring search algorithm

  • Rabin-Karp algorithm and hashing

  • Knuth-Morris-Pratt (KMP) substring search algorithm

Section 12 (BONUS):

  • what is LRU cache

  • LRU cache implementation

Section 13 (BONUS):

  • Fenwick trees (binary indexed trees)

  • binary indexed tree implementation

Section 14 - Algorithms Analysis

  • how to measure the running time of algorithms

  • running time analysis with big O (ordo), big Ω (omega) and big θ (theta) notations

  • complexity classes

  • polynomial (P) and non-deterministic polynomial (NP) algorithms

  • O(1), O(logN), O(N) and several other running time complexities

In each chapter you will learn about the theoretical background of each algorithm or data structure, then we are going to write the code on a step by step basis in Eclipse, Java.

Most of the advanced algorithms relies heavily on these topics so it is definitely worth understanding the basics. These principles can be used in several fields: in investment banking, artificial intelligence or electronic trading algorithms on the stock market.

Thanks for joining the course, let's get started!

Screenshots

Algorithms Data Structures in Java #1 (+INTERVIEW QUESTIONS) - Screenshot_01Algorithms Data Structures in Java #1 (+INTERVIEW QUESTIONS) - Screenshot_02Algorithms Data Structures in Java #1 (+INTERVIEW QUESTIONS) - Screenshot_03Algorithms Data Structures in Java #1 (+INTERVIEW QUESTIONS) - Screenshot_04

Reviews

Balasubramanian
December 28, 2023
It's a fantastic refresher course for me. It has been more than a decade since I have had to code as my role requires conceptual architecture, practice leadership, pursuits etc.
Saurabh
June 8, 2022
Very details explanations are given. Lots of time and effort has been spent on each concept and lecture.
Abhishek
April 27, 2022
speaking littel bit fast hence required to watch video on slow speed otherwise so far content is excellent
Udhaya
April 24, 2022
Great explanation, but advanced problems in DP are not covered, came here for problems but they were basic and less.
Abdallah
April 3, 2022
The instructor is just reading the slides in an awful way. There is no engaging attitude in presenting the concepts
Indu
March 7, 2022
amazing...this course really helpful for me to understand datastructure and their real time applications
Shay
February 6, 2022
This is the second course I take with this lecturer. He's great at both, explains well and clear. Also, he answers questions very quickly.
Galana
July 10, 2021
good explanation but bad implementation. In most cases he uses in built IDE getter and setter generator which is not helpful at all to construct stack, queue, binary search tree, linkedlist from scratch for white board interview.
Zee
May 19, 2021
He goes very fast over the key topics skipping a lot of explanations. Course description says All Levels but it feels like it's advanced.
Anuragh
April 28, 2021
The explanation was really good and i have to appreciate you for the time taken to make the implementation videos of all the data structures and explaining the methods you have instantiated. Thankyou so much for the course and make more like these.
Ritu
February 18, 2021
This is a great learning course for data structure. It increased my passion to learn more about data structures and algorithm. I liked the way instructor drawn the attention towards real world usage while explaining the topic. Happy learning!
Weronika
January 27, 2021
I am in the middle of this course but I had to stop just to write how amazed I am by this teacher. I was extremly bad at algorithms, I would say beyond hopeless. I tried to learn from a popular paid website ( I don't want to name it, but it's advertised by Youtube) but it's a joke compared to what this teacher can teach you for such low price. I wouldn't even give his courses on algorithms 5 stars, I would give them 6 stars. Finally someone who teaches how to implement algorithms from scratch (and not copying and pasting the java libraries), someone who teaches algorithmic thinking and not only java syntax, someone who explains WHEN to use a certain data structure and algorithm and WHY. I can't get people who are complaining, because I didn't found any better course in the whole internet world so far. I'm waiting for more courses (maybe more on C++). So far, thank you teacher!
Roshan
December 21, 2020
Explanation and code walk through is really code. Worth for money. The instructor explains the logic in detail.
George
April 15, 2018
Really great course! I wanna thank the instructor for his time and attention to detail! I will be taking many more courses with this instructor. This class will most certainly provide you will a very solid foundation in the most popular and algorithms and data structures, more so than what you would find in a university environment.!
Elson
March 19, 2018
The course was very good. There was only one thing I found it really hard during the lessons: sometimes, the resolution was not very good and was not possible to see what the instructor was showing in the code.

Charts

Price

Algorithms Data Structures in Java #1 (+INTERVIEW QUESTIONS) - Price chart

Rating

Algorithms Data Structures in Java #1 (+INTERVIEW QUESTIONS) - Ratings chart

Enrollment distribution

Algorithms Data Structures in Java #1 (+INTERVIEW QUESTIONS) - Distribution chart
433280
udemy ID
2/26/2015
course created date
11/21/2019
course indexed date
Bot
course submited by