Courses JetBrains Academy

Data Structures and Algorithms (Java)

Part of the 977-120 Computer Programming module at Digital Engineering, College of Computing, Prince of Songkla University, Phuket Campus. In-progress course expected to cover core data structures, algorithmic strategies, complexity, and classic problems in Java.

Advanced Level 144h 0m 🌐 EN

What you'll learn

  • Part of the 977-120 Computer Programming module at Prince of Songkla University, Phuket Campus
  • Covers data structures such as linked lists, stacks, queues, trees, heaps, tries, and self-balancing BSTs
  • Includes algorithmic strategies: recursion, divide-and-conquer, greedy algorithms, and dynamic programming
  • Explores searching and sorting, graph problems, shortest path algorithms, and NP-completeness
  • Learn and practice in a JetBrains IDE via the JetBrains Toolbox App

Skills you'll gain

  • Understand and implement core data structures: linked lists, stacks, queues, trees, heaps, tries, and self-balancing BSTs
  • Analyze algorithm complexity and apply algorithmic strategies such as recursion and divide-and-conquer
  • Implement and compare searching and sorting algorithms
  • Apply greedy algorithms and dynamic programming to classic problems like Fibonacci and 0-1 knapsack
  • Model and solve graph problems including traversal and shortest path
  • Gain familiarity with NP-completeness concepts
  • Work with Java projects inside a JetBrains IDE using the JetBrains Toolbox App

Prerequisites

  • Prior computer programming experience
  • Working knowledge of Java
  • Familiarity with basic programming concepts such as variables, loops, and functions

Who this course is for

  • Students of the 977-120 Computer Programming module at Prince of Songkla University
  • Learners who want an advanced Java-focused data structures and algorithms course
  • Developers comfortable with Java who want to deepen their understanding of algorithms and complexity
Free
Go to Course

You'll be redirected to JetBrains Academy

Provider

JetBrains Academy

Related Courses

Grokking the System Design Interview, Volume II

The advanced successor to the world's best-selling System Design course, designed to help experienced engineers master complex distributed systems and secure L5/L6 roles.

Design Gurus ⭐ 4.80

Introduction to Python

Learn Python like a pro from day one—code in a professional IDE with guided setup, instant feedback, and short, focused lessons that build job‑ready Python fundamentals for data science, automation, and software development.

JetBrains Academy

Esri ArcGIS Enterprise System Design Professional Certification 2025

Learning plan with a curated list of training resources to help you refresh skills and prepare for the ArcGIS Enterprise System Design Professional certification exam.

Esri Academy ⭐ 4.80

Learn Next.js

Elevate web apps using Next.js. Gain skills in server-side rendering, dynamic routing, and data fetching for powerful, high-performing, and SEO-friendly applications.

Codecademy

Learn Rust Programming

No guessing, no frustration—learn Rust with setup help, hands-on exercises, and instant IDE feedback. Learn Rust by coding from day one in short, focused lessons with real coding practice and instant feedback inside a professional JetBrains IDE.

JetBrains Academy

Introduction to Rust

In this course, you'll learn Rust from the ground up, equipping you with the skills to build efficient and scalable Rust applications. You’ll master Rust’s ownership model, advanced features like smart pointers, multithreading, and async programming through hands-on exercises and a game engine project.

Udacity