Algorithms Data Structures in Java #2 (+INTERVIEW QUESTIONS)
Algorithms Data Structures in Java #2 (+INTERVIEW QUESTIONS), available at $79.99, has an average rating of 4.35, with 110 lectures, 18 quizzes, based on 806 reviews, and has 12441 subscribers.
You will learn about Grasp the fundamentals of algorithms and data structures Develop your own algorithms that best fit to the personal need Detect non-optimal code snippets Understand data compression Understand sorting algorithms Understand tries and ternary search trees Understand Strings and StringBuilders This course is ideal for individuals who are This course is meant for university students with quantitative background (mathematics, computer science) but anyone with core java knowledge can get a good grasp of the lectures It is particularly useful for This course is meant for university students with quantitative background (mathematics, computer science) but anyone with core java knowledge can get a good grasp of the lectures.
Enroll now: Algorithms Data Structures in Java #2 (+INTERVIEW QUESTIONS)
Summary
Title: Algorithms Data Structures in Java #2 (+INTERVIEW QUESTIONS)
Price: $79.99
Average Rating: 4.35
Number of Lectures: 110
Number of Quizzes: 18
Number of Published Lectures: 105
Number of Published Quizzes: 18
Number of Curriculum Items: 128
Number of Published Curriculum Objects: 123
Original Price: $99.99
Quality Status: approved
Status: Live
What You Will Learn
- Grasp the fundamentals of algorithms and data structures
- Develop your own algorithms that best fit to the personal need
- Detect non-optimal code snippets
- Understand data compression
- Understand sorting algorithms
- Understand tries and ternary search trees
- Understand Strings and StringBuilders
Who Should Attend
- This course is meant for university students with quantitative background (mathematics, computer science) but anyone with core java knowledge can get a good grasp of the lectures
Target Audiences
- This course is meant for university students with quantitative background (mathematics, computer science) but anyone with core java knowledge can get a good grasp of the lectures
This course is about data structures and algorithms. We are going to implement the problems in Java, but I try to do it as generic as possible: so the core of the algorithms can be used in C++ or Python. The course takes approximately 12 hours to complete. I highly recommend typing out these data structures several times on your own in order to get a good grasp of it.
Section 1 – Tries
-
what are prefix trees (tries)
-
basics operations: insertion, sorting and autocomplete
-
longest common prefix problem
-
prefix trees applications in networking (IP routing)
Section 2 – Ternary Search Trees
-
what is the problem with tries?
-
what are ternary search trees
-
basic operations: insertion and retrieval
-
applications of tries (IP routing and Boggle Game)
Section 3 – 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 4 – Strings
-
stringsin Java programming
-
what is the String Constant Pool?
-
prefixes and suffixes
-
longest common prefix problem
-
longest repeated substring problem
-
suffix tries and suffix arrays
Section 5 – 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 6 – Data Compression Algorithms
-
what is data compression
-
run length encoding
-
Huffman-encoding
-
LZW compression and decompression
Section 7 – 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
First, we are going to discuss prefix trees: modern search engines for example use these data structures quite often. When you make a google search there is an autocomplete feature because of the underlying trie data structure. It is also good for sorting: hashtables do not support sort operation but on the other hand, tries do support.
Substring searchis another important field of computer science. You will learn about Z algorithm and we will discuss brute-force approach as well as Rabin-Karp method.
The next chapter is about sorting. How to sort an array of integers, doubles, strings or custom objects? We can do it with bubble sort, insertion sort, mergesort or quicksort. You will learn a lot about the theory as well as the concrete implementation of these important algorithms.
The last lectures are about data compression: run-length encoding, Huffman encoding and LZW compression.
Thanks for joining the course, let’s get started!
Course Curriculum
Chapter 1: Introduction
Lecture 1: Introduction
Chapter 2: Trie Data Structures (Prefix Trees)
Lecture 1: What are tries (prefix trees)?
Lecture 2: Prefix tree introduction – insertion and searching
Lecture 3: Prefix tree introduction – sorting
Lecture 4: Prefix tree introduction – autocomplete
Lecture 5: Prefix tree introduction – associative arrays
Lecture 6: Tries implementation I
Lecture 7: Tries implementation II
Lecture 8: Tries implementation III
Lecture 9: Tries implementation IV – associative arrays
Lecture 10: Tries implementation V – autocomplete
Lecture 11: Tries implementation VI – sorting
Lecture 12: Hashing based data structures and tries
Lecture 13: Applications of trie data structures
Chapter 3: Interview Questions – IP Routing with Tries
Lecture 1: Networking and the longest common prefix problem
Lecture 2: Longest common prefix implementation
Chapter 4: Ternary Search Trees (TSTs)
Lecture 1: What are ternary search trees?
Lecture 2: Ternary search tree visualization
Lecture 3: Ternary search tree implementation – insertion
Lecture 4: Ternary search tree implementation – search
Lecture 5: Ternary search trees implementation – traversal
Lecture 6: Recursion and stack memory visualization
Chapter 5: Interview Questions – Boggle Game
Lecture 1: What is boggle and how to solve it?
Lecture 2: Boggle game with ternary search tree implementation I
Lecture 3: Boggle game with ternary search tree implementation II
Lecture 4: Boggle game with ternary search tree implementation III
Chapter 6: Substring Search
Lecture 1: Brute-force search introduction
Lecture 2: Brute-force search implementation
Lecture 3: Rabin-Karp algorithm introduction
Lecture 4: Rabin-Karp algorithm implementation
Lecture 5: Knuth-Morris-Pratt algorithm introduction
Lecture 6: Constructing the partial match table
Lecture 7: Knuth-Morris-Pratt algorithm implementation
Lecture 8: Z algorithm introduction
Lecture 9: Z algorithm illustration
Lecture 10: Z algorithm implementation
Lecture 11: Substring search algorithms comparison
Lecture 12: Applications of substring search
Chapter 7: Strings
Lecture 1: Strings and the String Constant Pool (Intern Pool)
Lecture 2: String's immutability
Lecture 3: Strings and StringBuilders
Lecture 4: String reversion
Lecture 5: Suffixes
Lecture 6: Prefixes
Lecture 7: Longest common prefix
Lecture 8: Longest repeated substring problem
Lecture 9: Why are suffix tries and suffix arrays useful?
Chapter 8: Basic Sorting Algorithms
Lecture 1: Sorting introduction
Lecture 2: What is stability in sorting?
Lecture 3: Adaptive sorting algorithms
Lecture 4: Bogo sort introduction
Lecture 5: Bogo sort implementation
Lecture 6: Bubble sort introduction
Lecture 7: Bubble sort implementation
Lecture 8: Selection sort introduction
Lecture 9: Selection sort implementation
Lecture 10: Insertion sort introduction
Lecture 11: Insertion sort implementation
Lecture 12: Shell sort introduction
Lecture 13: Shell sort implementation
Lecture 14: Quicksort introduction
Lecture 15: Quicksort introduction – example
Lecture 16: Quicksort implementation
Lecture 17: Hoare's partitioning and Lomuto's partitioning
Lecture 18: What is the worst-case scenario for quicksort?
Lecture 19: Merge sort introduction
Lecture 20: Merge sort implementation
Lecture 21: Merge sort and stack memory visualization
Lecture 22: Hybrid algorithms introduction
Lecture 23: Non-comparison based algorithms
Lecture 24: Counting sort introduction
Lecture 25: Counting sort implementation
Lecture 26: Radix sort introduction
Lecture 27: Radix sort implementation
Chapter 9: Interview Questions – Sorting
Lecture 1: Interview question #1 – implementing TimSort algorithm
Lecture 2: Interview question #1 – solution
Instructors
-
Holczer Balazs
Software Engineer
Rating Distribution
- 1 stars: 5 votes
- 2 stars: 13 votes
- 3 stars: 59 votes
- 4 stars: 256 votes
- 5 stars: 473 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 Language Learning Courses to Learn in November 2024
- 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