Skip to content

dangngocquan/java-dsa-visualization

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 

Repository files navigation

JAVA DSA VISUALIZATION

Contents

Content Status
1 Sort Algorithm: Bubble Sort
2 Sort Algorithm: Selection Sort
3 Sort Algorithm: Insertion Sort
4 Sort Algorithm: Quick Sort
5 Sort Algorithm: Merge Sort
6 Sort Algorithm: Heap Sort
7 Search Algorithm: Sequential Search
8 Search Algorithm: Binary Search
9 Data Structure: List - Array List
10 Data Structure: List - Singly Linked List
11 Data Structure: List - Double Linked List
12 Data Structure: Stack - Array Stack
13 Data Structure: Stack - Linked Stack
14 Data Structure: Queue - Array Queue
15 Data Structure: Queue - Linked Queue
16 Data Structure: Priority Queue - Unsorted Array Priority Queue
17 Data Structure: Priority Queue - Sorted Array Priority Queue
18 Data Structure: Priority Queue - Unsorted Linked Priority Queue
19 Data Structure: Priority Queue - Sorted Linked Priority Queue
20 Data Structure: Priority Queue - Min Heap Priority Queue
21 Data Structure: Tree - Binary Search Tree
22 Data Structure: Tree - AVL Tree

Features

1. Sort Algorithms

1.1. Sort algorithms

Screenshot (417)

Sort Algorithms will be executed on an array with 6 features:

  • Shuffle: Shuffle position of elements in current array.
  • Generate New: Generate new array, each element will have random value in range [1 - 99].
  • Array size: The size of array. You can change this value in range [2 - 128].
  • Elements: The elements in current array. You can custom set each element value in array with value in range [1 - 99].
  • Animation Speed: Period of each animation step. You can set animation speed with min value is 10 (ms) (this is the fastest case).
  • Start sort | Pause sort | Continue sort: You can start the sort animation, pause it or continue if you want.

1.2. Search Algorithms

Screenshot (418)

Sort Algorithms will be executed on an array with 7 features:

  • Shuffle: Shuffle position of elements in current array.
  • Generate New: Generate new array, each element will have random value in range [1 - 99].
  • Array size: The size of array. You can change this value in range [2 - 128].
  • Elements: The elements in current array. You can custom set each element value in array with value in range [1 - 99].
  • Value searching: The value which you want to search in current array. You can set this value in range [1- 99].
  • Animation Speed: Period of each animation step. You can set animation speed with min value is 10 (ms) (this is the fastest case).
  • Start sort | Pause sort | Continue sort: You can start the sort animation, pause it or continue if you want.

1.3. Data Structures

Screenshot (419)

Data Structures will have 3 features:

  • Animation Speed: Period of each animation step. You can set animation speed with min value is 500 (ms) (this is the fastest case).

  • Choose Action: You can choose a method of current data structure which you want to see visualization

    • List: Have 5 actions add(value), add(index, value), get(index), remove(index), remove(value)

      Screenshot (420)

    • Stack: Have 2 actions push(value), pop()

      Screenshot (421)

    • Queue: Have 2 actions enqueue(value), dequeue()

      Screenshot (422)

    • Priority Queue: Have 2 actions insert(key, value), removeMin()

      Screenshot (423)

    • Tree: Have 8 actions includes 6 traversal methods, insert(value), delete(value)

      Screenshot (424)

  • Run Action: Run animation with selected method. When you started animation, you can't pause it.

Demo

1. Sort Algorithm: Bubble Sort

2023-12-02.16-43-12.mp4

2. Sort Algorithm: Selection Sort

2023-12-02.17-01-52.mp4

3. Sort Algorithm: Insertion Sort

2023-12-02.17-04-46.mp4

4. Sort Algorithm: Quick Sort

2023-12-02.17-18-43.mp4

5. Sort Algorithm: Merge Sort

2023-12-02.17-21-16.mp4

6. Sort Algorithm: Heap Sort

2023-12-02.17-26-08.mp4

7. Search Algorithm: Sequential Search

2023-12-02.17-29-03.mp4

8. Search Algorithm: Binary Search

2023-12-02.17-33-06.mp4

9. Data Structures: List - Array List

9.1. Method add(value)

2023-12-02.23-24-08.mp4

9.2. Method add(index, value)

2023-12-02.23-25-35.mp4

9.3. Method get(index)

2023-12-02.23-28-16.mp4

9.4. Method remove(index)

2023-12-02.23-28-51.mp4

9.5. Method remove(value)

2023-12-02.23-30-10.mp4

10. Data Structures: List - Singly Linked List

10.1. Method add(value)

2023-12-02.23-33-23.mp4

10.2. Method add(index, value)

2023-12-02.23-34-00.mp4

10.3. Method get(index)

2023-12-02.23-34-50.mp4

10.4. Method remove(index)

2023-12-02.23-35-26.mp4

10.5. Method remove(value)

2023-12-02.23-36-22.mp4

11. Data Structures: List - Double Linked List

11.1. add(value)

2023-12-02.23-38-40.mp4

11.2. add(index, value)

2023-12-02.23-39-08.mp4

11.3. get(index)

2023-12-02.23-40-02.mp4

11.4. remove(index)

2023-12-03.00-06-33.mp4

11.5. remove(value)

2023-12-03.00-07-30.mp4

12. Data Structures: Stack - Array Stack

12.1. push(value)

2023-12-03.00-13-54.mp4

12.2. pop()

2023-12-03.00-14-27.mp4

13. Data Structures: Stack - Linked Stack

13.1. push(value)

2023-12-03.00-15-23.mp4

13.2. pop()

2023-12-03.00-15-48.mp4

14. Data Structures: Queue - Array Queue

14.1. enqueue(value)

2023-12-03.00-16-50.mp4

14.2. dequeue()

2023-12-03.00-17-20.mp4

15. Data Structures: Queue - Linked Queue

15.1. enqueue(value)

2023-12-03.00-20-02.mp4

15.2. dequeue()

2023-12-03.00-20-26.mp4

16. Data Structures: Priority Queue - Unsorted Array Priority Queue

16.1. insert(value)

2023-12-03.00-22-33.mp4

16.2. removeMin()

2023-12-03.00-23-09.mp4

17. Data Structures: Priority Queue - Sorted Array Priority Queue

17.1. insert(value)

2023-12-03.00-32-51.mp4

17.2. removeMin()

2023-12-03.00-33-26.mp4

18. Data Structures: Priority Queue - Unsorted Linked Priority Queue

18.1. insert(value)

2023-12-03.00-37-33.mp4

18.2. removeMin()

2023-12-03.00-38-00.mp4

19. Data Structures: Priority Queue - Sorted Linked Priority Queue

19.1. insert(value)

2023-12-03.00-39-29.mp4

19.2. removeMin()

2023-12-03.00-39-57.mp4

20. Data Structures: Priority Queue - Min Heap Priority Queue

20.1. insert(value)

2023-12-03.00-41-09.mp4

20.2. removeMin()

2023-12-03.00-41-49.mp4

21. Data Structures: Tree - Binary Search Tree

21.1. traversals

2023-12-03.00-43-08.mp4

21.2. insert(value)

2023-12-03.00-43-42.mp4

21.2. delete(value)

2023-12-03.00-44-18.mp4

22. Data Structures: Tree - AVL Tree

22.1. traversals

2023-12-03.00-46-15.mp4

22.2. insert(value)

2023-12-03.00-46-47.mp4

22.2. delete(value)

2023-12-03.00-47-48.mp4