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

Master essential algorithms and data structures in Java, including AVL trees, Binary Search Trees, and HashMaps. Complete the course in approximately 20 hours.

  • Overview
  • Curriculum
  • Instructor
  • Review

Brief Summary

This course dives into essential algorithms and data structures using Java. Over 20 hours, students will explore everything from arrays to advanced trees, while building necessary coding skills and understanding optimal solutions.

Key Points

  • Introduction to data structures and abstract data types.
  • Understanding arrays, linked lists, stacks, and queues.
  • Exploring binary search trees, AVL trees, and red-black trees.
  • Learning hashing techniques and HashMaps.
  • Analyzing sorting algorithms and substring search algorithms.

Learning Outcomes

  • Gain hands-on experience with various data structures and algorithms.
  • Understand the concepts of memory management with stacks and queues.
  • Master sorting algorithms and their applications.
  • Learn how to measure and analyze algorithm performance.
  • Implement advanced topics like LRU caches and Fenwick trees.

About This Course

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

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!

  • grasp the fundamentals of algorithms and data structures

  • detect non-optimal code snippets

  • learn about arrays and linked lists

Course Curriculum

2 Lectures

2 Lectures

1 Lectures

2 Lectures

1 Lectures

Instructor

Profile photo of Holczer Balazs
Holczer Balazs

My name is Balazs Holczer. I am from Budapest, Hungary. I am qualified as a physicist. At the moment I am working as a simulation engineer at a multinational company. I have been interested in algorithms and data structures and its implementations especially in Java since university. Later on I got acquainted with machine learning techniques, artificial intelligence, numerical methods...

Review
4.9 course rating
4K ratings
ui-avatar of Sharath A S
Sharath A. S.
5.0
8 months ago

It is helpful. Thank you

  • Helpful
  • Not helpful
ui-avatar of SABITHA MAYILVEL
Sabitha M.
4.5
10 months ago

good

  • Helpful
  • Not helpful
ui-avatar of Jonathan Camilo Diaz Torres
Jonathan C. D. T.
5.0
1 year ago

THIS COURSE IS ESSENTIAL TO LEARN ABOUT TREES AND HASHES

  • Helpful
  • Not helpful
ui-avatar of Petr Novotny
Petr N.
5.0
1 year ago

all classes of this instructor are perfect

  • Helpful
  • Not helpful
ui-avatar of Peter Jake
Peter J.
1.0
1 year ago

Such worst accent

  • Helpful
  • Not helpful
ui-avatar of Parthiban Palanivel
Parthiban P.
5.0
1 year ago

good

  • Helpful
  • Not helpful
ui-avatar of Balasubramanian Sundaram
Balasubramanian S.
4.5
1 year ago

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.

  • Helpful
  • Not helpful
ui-avatar of Anonymized User
Anonymized U.
5.0
1 year ago

Amazing course with amazing topics.

  • Helpful
  • Not helpful
ui-avatar of Ragahvendra goud Puppala
Ragahvendra G. P.
4.5
2 years ago

It a good so far and i think it should have covered more on doubly queue and circular linked list

  • Helpful
  • Not helpful
ui-avatar of Mahendra Kumar maury
Mahendra K. M.
1.5
2 years ago

yes I improve our knowledge through this course..

  • Helpful
  • Not helpful
Leave A Reply

Your email address will not be published. Required fields are marked *

Ratings

Courses You May Like

Lorem ipsum dolor sit amet elit
Show More Courses