# Beginning Java Data Structures and Algorithms Beginning Java Data Structures and Algorithms
English | MP4 | AVC 1920×1080 | AAC 48KHz 2ch | 2h 56m | 5.69 GB

Sharpen your problem solving and data organization skills using Java data structures and algorithms

Learning about data structures and algorithms gives you better insight on how to solve common programming problems. Most of the problems faced every day by programmers have been solved, tried, and tested. By knowing how these solutions work, you can ensure that you choose the right tool when you face these problems.

This course teaches you tools that you can use to build efficient applications. It starts with an introduction to algorithms and big O notation, later explains bubble, merge, quicksort, and other popular programming patterns. You’ll also learn about data structures such as binary trees, hash tables, and graphs. The course progresses to advanced concepts, such as algorithm design paradigms and graph theory. By the end of the course, you will know how to correctly implement common algorithms and data structures within your applications.

What You Will Learn

• Understand some of the fundamental concepts behind key algorithms
• Express space and time complexities using Big O notation.
• Correctly implement classic sorting algorithms such as merge and quicksort
• Correctly implement basic and complex data structures
• Learn about different algorithm design paradigms, such as greedy, divide and conquer, and dynamic programming
• Apply powerful string matching techniques and optimize your application logic
• Master graph representations and learn about different graph algorithms

Algorithms and Complexities
1 Course Overview
2 Lesson Overview
3 Developing Our First Algorithm
4 Measuring Algorithmic Complexity with Big O Notation
5 Identifying Algorithms with Different Complexities
6 Summary

Sorting Algorithms and Fundamental Data Structures
7 Lesson Overview
8 Introducing Bubble Sorting
9 Understanding Quick Sort
10 Using Merge Sort
11 Getting Started with Fundamental Data Structures
12 Summary

Hash Tables and Binary Search Trees
13 Lesson Overview
14 Introducing Hash Tables Part 1
15 Introducing Hash Tables Part 2
16 Getting Started with Binary Search Trees
17 Traversing a Binary Search Tree
18 Summary

19 Lesson Overview
20 Introducing Greedy Algorithms
21 Getting Started with Divide and Conquer Algorithms
22 Understanding Dynamic Programming
23 Summary

String Matching Algorithms
24 Lesson Overview
25 Naive Search Algorithms
26 Getting Started with the Boyer-Moore String Searching Algorithm
27 Introducing Other String Matching Algorithms
28 Summary

Graphs, Prime Numbers, and Complexity Classes
29 Lesson Overview
30 Representing Graphs
31 Traversing a Graph
32 Calculating Shortest Paths
33 Prime Numbers in Algorithms
34 Other Concepts in Graphs
35 Summary