Data Structures in Java - Part I (+INTERVIEW QUESTIONS)

  • 4.5
15 hours on-demand video
$ 17.99

Brief Introduction

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

Description

This course is about data structures and algorithms. We are going to implement the problems in Java. The course takes approximately 14 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 (BONUS):

  • what is LRU cache

  • LRU cache implementation

Section 11 (BONUS):

  • Fenwick trees (binary indexed trees)

  • binary indexed tree implementation

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!

Requirements

  • Requirements
  • Basic Java (loops and some OOP)
$ 17.99
English
Available now
15 hours on-demand video
Holczer Balazs
Udemy

Instructor

Holczer Balazs

  • 4.5 Raiting
Share
Saved Course list
Cancel
Get Course Update
Computer Courses