package src.workshop;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Random;
import java.util.Set;
public class Test {
static StringBuilder sb = new StringBuilder();
public static void main(String[] args) {
long beforeTime;
long afterTime;
long timeDiff;
int[] arr = NoOverlab();
beforeTime = System.currentTimeMillis();
selectionSort(arr);
afterTime = System.currentTimeMillis();
timeDiff = afterTime - beforeTime;
System.out.println("Normal Case ์์ ์๊ฐ(ms): " + timeDiff);
int[] arr2 = testWorstCase();
beforeTime = System.currentTimeMillis();
selectionSort(arr2);
afterTime = System.currentTimeMillis();
timeDiff = afterTime - beforeTime;
System.out.println("Worst Case ์์ ์๊ฐ(ms): " + timeDiff);
}
private static int[] testNormalCase() {
Random random = new Random();
int[] arr = new int[100000];
for (int i = 0; i < arr.length; i++) {
arr[i] = random.nextInt();
}
return arr;
}
private static int[] NoOverlab() {
Random random = new Random();
Set<Integer> set = new HashSet<>();
while (set.size() < 100000) {
set.add(random.nextInt());
}
int[] arr = new int[set.size()];
int i = 0;
for (int num : set) {
arr[i++] = num;
}
return arr;
}
private static int[] testWorstCase() {
int[] arr = new int[100000];
for (int i = 0; i < arr.length; i++) {
arr[i] = arr.length - i;
}
return arr;
}
private static void bubbleSort(int[] arr) {
int n = arr.length;
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
// Swap arr[j] and arr[j+1]
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
}
Bubble Sort๋ฅผ ๊ตฌํํ๊ณ ์ฝ๋๋ฅผ ๋๋ ค๋ณด์๋๋ฐ, ๊ฒฐ๊ณผ๊ฐ ๋์ค๊ธฐ ์ด์ ์ Normal Case์ ๊ฒฝ์ฐ์๋ ๊ตํ์ฐ์ฐ์ด ๋ฐ๋์ ์ผ์ด๋๋๊ฒ์ด ์๋์ง๋ง, Worst Case์ ๊ฒฝ์ฐ ๊ตํ์ฐ์ฐ์ด ๋ฌด์กฐ๊ฑด์ ์ผ๋ก ์ผ์ด๋๊ธฐ ๋๋ฌธ์ ๋น์ฐํ Worst Case๊ฐ ๊ฐ์ฅ ์ค๋ ๊ฑธ๋ฆด ๊ฒ์ผ๋ก ์๊ฐํ๋ค.
๊ทธ๋ฌ๋ ๊ฒฐ๊ณผ๋ ์์๊ณผ ๋ฌ๋ฆฌ
Normal Case ์์ ์๊ฐ(ms): 13697
Worst Case ์์ ์๊ฐ(ms): 9309
์ด์งธ์ ์ด๋ฐ ๊ฒฐ๊ณผ๊ฐ ๋์ค๊ฒ ๋ ๊ฒ์ผ๊น?... ํ ..? ๋ชจ๋ฅด๊ฒ ๋ค ใ
ใ
ChatGPT์ ๋ฌผ์ด๋ณด๊ธฐ๋ ํ๋๋ฐ
์ด์ํ ๋ต์ ๋ด๋๊ธฐ๋ ํ๋ค... ๊ถ๊ธํด์ ๋ค์ ๋ฌผ์ด๋ณด๋ ์๊ธฐ ์ค๋ช ์ด ํ๋ ธ๋ค๊ณ ํ๋ค;;
๊ฒฐ๊ณผ์ ์ผ๋ก ๋ต์ ์ ์ ์์ด ๋๋ฃ๋ถ๋ค๊ป ํ ์คํธ๋ฅผ ๋ถํ๋๋ ธ๋๋ Normal Case๊ฐ ๋ ์ค๋๊ฑธ๋ฆฌ๋๊ฑด ๋๊ฐ๋ค๊ณ ํ์ ๋ค.
๊ทธ๋์ ๋์ ChatGPT์๊ฒ ์ฝ๋๋ฅผ ์ฃผ๊ณ 100๋ฒ ๋๋ฆฐ ํ ํ๊ท ๊ฐ์ ์ถ๋ ฅํด๋ฌ๋ผ ๋ถํํด๋ณด์๋ค.
Bubble Sort Normal Case ์์ ์๊ฐ(ms): 6672.56
Bubble Sort Worst Case ์์ ์๊ฐ(ms): 248296.49
์ ๋์ ํ๊ฒฝ์์๋ ์์ํ ๊ฒฐ๊ณผ๊ฐ ์๋์ค๊ณ , GPT์์๋ ์์ ๊ฒฐ๊ณผ๊ฐ ๋์ค๋์ง ์๋ฌธ์ด๋ค.
์คํ๋ง MVC
์คํ๋ง ์ดํด๋ฅผ ์ํ ์๋ฐ ๊ณ ๊ธ - 1
์คํ๋ง ์ดํด๋ฅผ ์ํ ์๋ฐ ๊ณ ๊ธ - 2
์๋ฐ์คํฌ๋ฆฝํธ
๋ฐ์ผ๋ฆฌ ์๊ณ ๋ฆฌ์ฆ 9์ฃผ์ฐจ