Skip to content

Commit d736f6e

Browse files
committed
2 parents 7d05b3f + 498bc2a commit d736f6e

File tree

1 file changed

+23
-8
lines changed

1 file changed

+23
-8
lines changed

README.md

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,20 +18,33 @@ This is my freshman year summer project! Trying to get a better understanding o
1818

1919
## Running
2020

21-
_Running through your IDE_
21+
*First, make sure your PATH and JAVA_HOME Environment variables are set correctly.*
2222

23-
Open the project through your preferred IDE and run the AlgVisualizer.java file.
23+
### _Running the Executable JAR_
2424

25-
_Running the Executable JAR_
25+
- You can simply go through your file system and find the AlgVisualizer.jar you downloaded. Simply open it, and the program will start
2626

27-
Run AlgVisualizer.jar through the command line or simply execute the file through your folders.
27+
*OR*
28+
29+
- Through the terminal, you can go to `C:/.../AlgorithmVisualizer` and enter
30+
31+
`AlgorithmVisualizer.jar`
32+
33+
### _Running through Terminal_
2834

29-
_Running through Terminal_
35+
- Go to `C:/.../AlgorithmVisualizer/src` and enter
3036

37+
`javac AlgVisualizer.java`
38+
39+
- This will compile the program into a binary file, where you can now find by going to `C:/.../AlgorithmVisualizer/bin`
40+
41+
- If there are no issues, you can now go to `C:/.../AlgorithmVisualizer/bin` and run the program with
42+
43+
`java com.example.algorithmvisualizer.AlgVisualizer`
3144

3245
## How to use
3346

34-
On startup, the application will open up a frame containing buttons and an unsorted array in bar form. There is a Reset button, a button for each sorting algorithm, a drop down size changer, and a Performance button.
47+
On startup, the application will open up a frame containing buttons and an unsorted array in bar form. There is a Reset button, a button for each sorting algorithm, a drop down size changer, an FPS slider, and a label showing the sorting performance.
3548

3649
![Startup](https://github.com/dlarocque/AlgorithmVisualizer/blob/master/images/Startup.PNG)
3750

@@ -41,11 +54,13 @@ _The Sort Buttons_ will be available when sorting isn't being done. Clicking an
4154

4255
_The Size Changer_ is initially set at N = 10, clicking it will open a drop down menu listing the available array sizes, clicking any of them will stop sorting and display a new array of the chosen size.
4356

44-
_The Performance Button_ is available once a sorting algorithm has successfully sorted the array. Clicking it will open a window containing stats such as Index comparisons, swaps, Sorting Time, Visualization time.
57+
_The FPS Slider_ is initialially set at 10 fps, it ranges from 1 fps all the way to 100 fps. This slider can be used to speed up the sorting / visualization process on bigger arrays or slow it down to get a better understanding of the sorting process on smaller arrays. It can be used before, during, and after sorting.
58+
59+
_The Performance Label_ between the array and the buttons displays all of the stats that can help the user understand how different sorting algorithms perform compared to each other. (It's interesting to see how bubble sort is better performing than merge and quick sort on small arrays)
4560

4661
#### Notes
4762

48-
The time to visualize the sorting of one of the algorithms is not a good representation of its real sorting time. This is because the frame / arr is updated every time there is an index swap, this makes it so that sorting algorithms with fewer swaps are visualized much faster. This is the reasoning behind including the 'Sorting Time' stat along with 'Visualzation Time' in the Performance window.
63+
The time to visualize the sorting of one of the algorithms is not a good representation of its real sorting time. This is because the arr is updated every time there is an index swap, this makes it so that sorting algorithms with fewer swaps are visualized much faster. This is the reasoning behind including a 'Sorting Time' stat along with 'Visualzation Time' in the Performance label.
4964

5065
The main window is not resizable due to the way that the bar graph is drawn. For example, if the width of the content pane is changed from 800 to 822, with an array N = 10, the drawing will not fill the entire window. Initially, the value of an index in the array was represented by an 80 inch wide bar, now it would be 82 and leaving a 2 pixel wide empty space in the frame.
5166
This is [Issue #15](https://github.com/dlarocque/AlgorithmVisualizer/issues/15)

0 commit comments

Comments
 (0)