Beginning Java Data Structures and Algorithms

More Information
  • 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

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.

  • Explains in detail different algorithms and data structures with sample problems and Java implementations where appropriate
  • Includes interesting tips and tricks that enable you to efficiently use algorithms and data structures
Course Length 2 hours 56 minutes
ISBN 9781789538236
Date Of Publication 28 Jan 2019


James Cutajar

James Cutajar is a software developer with an interest in scalable, high-performance computing, and distributed algorithms. He is also an author, open source contributor, blogger, and a tech evangelist. When he is not writing software, he is riding his motorbike, surfing, or flying light aircraft. He was born in Malta, lived in London for almost a decade, and is now working in Portugal.

Joao Azevedo

Joao Azevedo is a software engineer currently working at ShiftForward, a company in the online advertising industry. He focuses on building distributed, highly performant, and scalable systems, as well as applying machine learning techniques to solve some of the online advertising industry's problems.

Kristian Secor

Kristian Secor has been in the industry for quite a while. He a M.S. focusing on web development and an Ed.D focusing on educational technology. He has been developing for about 20 years and has been teaching for about 16 years at the University level for the frontend, backend, and mobile application courses. Currently, he is working as the Program Head for the Web Development Department at San Diego Mesa College. He is also an instructor for both user experience and frontend development at U.C. San Diego Extension.