Algorithms Data Structures in Java #1 (+INTERVIEW QUESTIONS)
Algorithms Data Structures in Java #1 (+INTERVIEW QUESTIONS), available at $94.99, has an average rating of 4.5, with 203 lectures, 39 quizzes, based on 2904 reviews, and has 25968 subscribers.
You will learn about 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 This course is ideal for individuals who are This course is meant for everyone from scientists to software developers who want to get closer to algorithmic thinking in the main It is particularly useful for This course is meant for everyone from scientists to software developers who want to get closer to algorithmic thinking in the main.
Enroll now: Algorithms Data Structures in Java #1 (+INTERVIEW QUESTIONS)
Summary
Title: Algorithms Data Structures in Java #1 (+INTERVIEW QUESTIONS)
Price: $94.99
Average Rating: 4.5
Number of Lectures: 203
Number of Quizzes: 39
Number of Published Lectures: 195
Number of Published Quizzes: 39
Number of Curriculum Items: 242
Number of Published Curriculum Objects: 234
Original Price: $199.99
Quality Status: approved
Status: Live
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
Who Should Attend
- This course is meant for everyone from scientists to software developers who want to get closer to algorithmic thinking in the main
Target Audiences
- This course is meant for everyone from scientists to software developers who want to get closer to algorithmic thinking in the main
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 searchalgorithms
-
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!
Course Curriculum
Chapter 1: Introduction
Lecture 1: Introduction
Lecture 2: Course exercises and solutions
Chapter 2: Data Structures Overview
Lecture 1: Why do we need data structures?
Lecture 2: Data structures and abstract data types
Chapter 3: Installation and Environment Setup
Lecture 1: Installing Java
Lecture 2: Installing Eclipse
Chapter 4: Arrays
Lecture 1: What are array data structures?
Lecture 2: Arrays introduction – operations
Lecture 3: Implementing arrays
Lecture 4: ArrayList in Java
Chapter 5: Interview Questions (Arrays)
Lecture 1: Reversing an array in-place solution
Lecture 2: Anagram problem solution
Lecture 3: Palindrome problem solution
Lecture 4: Integer reversion problem solution
Chapter 6: Linked Lists
Lecture 1: What are linked lists?
Lecture 2: Linked list theory – operations
Lecture 3: Pros and cons of linked lists
Lecture 4: Linked lists in Java !!!
Lecture 5: Linked list implementation I
Lecture 6: Linked list implementation II
Lecture 7: Linked list implementation III
Lecture 8: Linked list implementation IV
Lecture 9: Comparing linked lists and arrays
Lecture 10: Practical (real-world) applications of linked lists
Chapter 7: Doubly Linked Lists
Lecture 1: What are doubly linked lists?
Lecture 2: Doubly linked list implementation
Lecture 3: LinkedLists in Java
Lecture 4: Running time comparison: linked lists and arrays
Chapter 8: Interview Questions (Linked List)
Lecture 1: Finding the middle node in a linked list solution
Lecture 2: Reverse a linked list in-place solution
Chapter 9: Stacks
Lecture 1: What are stacks?
Lecture 2: Stacks in memory management (stacks and heaps )
Lecture 3: Stack memory visualization
Lecture 4: Stack implementation with linked list
Lecture 5: Stack implementation with arrays
Lecture 6: Stacks in Java
Lecture 7: Practical (real-world) applications of stacks
Chapter 10: Queues
Lecture 1: What are queues?
Lecture 2: Queue implementation with linked list
Lecture 3: Queues in Java
Lecture 4: ArrayDeque in Java
Lecture 5: ArrayDeque and Stack performance comparison
Chapter 11: Interview Questions (Stacks and Queues)
Lecture 1: Max in a stack problem overview
Lecture 2: Max in a stack problem solution
Lecture 3: Stack with queue overview
Lecture 4: Stack with queue solution
Lecture 5: Stack with queue solution – recursion
Chapter 12: Binary Search Trees
Lecture 1: What are binary search trees?
Lecture 2: How to search and insert items into a binary search tree?
Lecture 3: Implementing insertion I – Node and Tree classes
Lecture 4: Implementing insertion II
Lecture 5: How to visit all the items of a binary search trees? (in-order traversal)
Lecture 6: Binary search tree implementation – max, min and traversal
Lecture 7: Stack memory visualization – finding max (min) items
Lecture 8: Stack memory visualization – tree traversal
Lecture 9: How to remove an item from a binary search tree?
Lecture 10: Remove operation implementation I
Lecture 11: Remove operation implementation II
Lecture 12: Pros and cons of binary search trees
Lecture 13: Practical (real-world) applications of trees
Chapter 13: Interview Questions (Trees)
Lecture 1: Compare binary trees solution
Lecture 2: k-th smallest element in a search tree solution
Lecture 3: Family age problem solution
Chapter 14: Balanced Trees: AVL Trees
Lecture 1: Motivation behind balanced binary search trees
Lecture 2: What are AVL trees?
Lecture 3: AVL trees introduction – height
Lecture 4: AVL trees introduction – rotations
Lecture 5: AVL trees introduction – illustration
Lecture 6: AVL tree implementation I
Instructors
-
Holczer Balazs
Software Engineer
Rating Distribution
- 1 stars: 41 votes
- 2 stars: 51 votes
- 3 stars: 280 votes
- 4 stars: 980 votes
- 5 stars: 1552 votes
Frequently Asked Questions
How long do I have access to the course materials?
You can view and review the lecture materials indefinitely, like an on-demand channel.
Can I take my courses with me wherever I go?
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!
You may also like
- Top 10 Video Editing Courses to Learn in November 2024
- Top 10 Music Production Courses to Learn in November 2024
- Top 10 Animation Courses to Learn in November 2024
- Top 10 Digital Illustration Courses to Learn in November 2024
- Top 10 Renewable Energy Courses to Learn in November 2024
- Top 10 Sustainable Living Courses to Learn in November 2024
- Top 10 Ethical AI Courses to Learn in November 2024
- Top 10 Cybersecurity Fundamentals Courses to Learn in November 2024
- Top 10 Smart Home Technology Courses to Learn in November 2024
- Top 10 Holistic Health Courses to Learn in November 2024
- Top 10 Nutrition And Diet Planning Courses to Learn in November 2024
- Top 10 Yoga Instruction Courses to Learn in November 2024
- Top 10 Stress Management Courses to Learn in November 2024
- Top 10 Mindfulness Meditation Courses to Learn in November 2024
- Top 10 Life Coaching Courses to Learn in November 2024
- Top 10 Career Development Courses to Learn in November 2024
- Top 10 Relationship Building Courses to Learn in November 2024
- Top 10 Parenting Skills Courses to Learn in November 2024
- Top 10 Home Improvement Courses to Learn in November 2024
- Top 10 Gardening Courses to Learn in November 2024