Skip to content

CR4YU/SortingMachine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SortingMachine

Multi module Java application for visualizing time complexity of sorting algorithms on line chart.

Module description

  • generator - generates random data for given array size, returned type is some chosen implementation of Comparable[]
  • sorting - contains services for sorting data with chosen sorting algorithm
  • statistics - using above modules generates average sorting times for given algorithms and parameters, also provides single regression
  • ui - JavaFX application that visualises statistics on line chart

Prerequisites

In order to run JavaFX application you need:

  • Installed JDK 11
  • Installed Maven3
  • JAVA_HOME setup properly

How to run

Inside root folder execute:

./run.sh

Screenshots

Alt text Alt text

Important notes

  • Benchmarking was done using System.nanoTime() function. Please keep in mind it's not the perfect way to do such measures.
  • ForkJoinMergeSort uses multi-threading hence it's performance may vary on different CPU's.
  • Regression may not always work as expected when data are not evenly distributed

About

Sorting examples in Java

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages