This is a University of Piraeus - Digital Systems Dept (Greece) project. It is the first (of the two) projects at the Data Structures class. The project requirements are well explained below:
The programmer should create 5 java classes. Two SkylineAlgs classes,a list class, a node class (each node is a part of the list) and an application class containing the main method. The first algorithm should take as an input all the points given and return back as a result the skyline points. The second one should at first sort the list of the points and then find the skyline points. Moreover, the excercise had as a requirement to count the time that takes each algorithm to run and also to care about the complexity of them.
As a bonus, I made my Java app able to read from a given file the points, so that we do not need to use the Math() or random() java-lib. Also, for the sorting of the list (named ListDoublePoints) I used mergeSort by the time it is the most efficient and it has a big O complexity O(N*LogN).
Feel free to mess with the code, use it under your will and test it in any case. But remember, the license for this code is GPL v3, which means you have to contribute back to the main project (here) any changes you make and release into public.
In any case, do not hesitate to contact me at koslibpro [at] gmail [dot] com.
Konstantinos (Kostas) Livieratos