JetBrains Academy logo
JavaKullawat Chaowanawatee

Data Structures and Algorithms (Java)

<p>This is a part of 977-120 Computer Programming Module taught at Digital Engineering, College of Computing, Prince of Songkla University, Phuket Campus.</p> <p>This course is still in-progress, it is expected to cover these topics:</p> <p>data structures; linked lists; stack; queue; trees; binary tree; binary search tree (BST); trie; heap; self-balancing BST; complexity analysis; algorithmic strategies; recursion; divide-and-conquer techniques; searching and sorting; greedy algorithms; dynamic programming; graph problems; shortest path; NP-completeness;</p>

Skill levelAdvanced
Time to complete 6 days
Skill levelAdvanced
Time to complete 6 days

About this course

This is a part of 977-120 Computer Programming Module taught at Digital Engineering, College of Computing, Prince of Songkla University, Phuket Campus.

This course is still in-progress, it is expected to cover these topics:

data structures; linked lists; stack; queue; trees; binary tree; binary search tree (BST); trie; heap; self-balancing BST; complexity analysis; algorithmic strategies; recursion; divide-and-conquer techniques; searching and sorting; greedy algorithms; dynamic programming; graph problems; shortest path; NP-completeness;

Code editor icon

This course runs directly in your JetBrains IDE

Learn more

Content

  1. Computer Programming Recap
  1. Selection Sort
  2. Merge Sort
  1. Linked List
  2. Stack
  3. Queue
  4. Heap
  1. Binary Search Tree
  1. Fibonacci
  2. 0-1 Knapsack
  1. Representation
  2. Traversal
  3. Shortest Path

Learn with the tools developers use every day

Real-world development environmentZoom
Real-world development environmentZoom
Real-world development environmentZoom
Real-world development environmentZoom
  • Real-world development environment

    Gain practical experience with the tools and workflows you'll use in your career, minimizing the learning curve when transitioning to real-world projects.

  • Project-based learning journey

    Our plugin is built to help you finish real-world coding projects, which you can display in your code portfolio after completion.

  • Collaboration via Git

    Effortlessly track changes and collaborate on projects using Git, an essential tool for programmers in every field.

  • Focused learning

    Enjoy fewer distractions with assignments, code, debugging, and version control all in one window.

Student? Get JetBrains IDEs & hands-on courses — free for the full duration of your studies.

Apply using your school email, student ID, ISIC card, or another official document.

What do you need to start?

1

Install the Free JetBrains Toolbox App

The JetBrains Toolbox App 2.7+ makes setting up your course effortless. Already have a compatible IDE? It will launch it. If not, the app will install the right free IDE for your course.

Learn more about our licences here.

Download
2

Confirm the course launch

Click Launch course and then Allow to open the Toolbox App.

Select Always Allow to skip this confirmation in the future.

To return to the course later, find it in your IDE's recent projects.

Need more help? Check out our guide.

The JetBrains Toolbox App 2.7+ makes setting up your course effortless. Already have a compatible IDE? It will launch it. If not, the app will install the right free IDE for your course.

Learn more about our licences here.

Download

Click Launch course and then Allow to open the Toolbox App.

Select Always Allow to skip this confirmation in the future.

To return to the course later, find it in your IDE's recent projects.

Need more help? Check out our guide.

FAQ and troubleshooting

Report IssueLicense

Learn to code like a pro with JetBrains Academy

Explore catalog
Privacy & SecurityTerms of UseTrademarksLegalGenuine Tools
© 2000—2025 JetBrains s.r.o. All rights reserved. Developed with drive and IntelliJ IDEA

You'll take this course in your JetBrains IDE.
Just install JetBrains Toolbox 2.7+, and we'll handle the rest!