๊นจ์•Œ ๊ฐœ๋… ๐Ÿ“‘/์•Œ๊ณ ๋ฆฌ์ฆ˜

์ •๋ ฌ - ์„ ํƒ ์ •๋ ฌ (Selection Sort)

interfacer_han 2023. 11. 2. 11:13

#1 ์•Œ๊ณ ๋ฆฌ์ฆ˜

#1-1

 

#1-2

 

#2 ์ฝ”๋“œ

#2-1 ์ž๋ฐ”

public static void selectionSort(int[] array, int startIndex, int endIndex) {
    
    for(int maxIndex = endIndex; startIndex < maxIndex; maxIndex--) {
        
        // ๋ฐฐ์—ด์„ ์ˆœํšŒํ•˜๋ฉฐ ๊ฐ€์žฅ ๊ฐ’์ด ํฐ ์›์†Œ์˜ index๋ฅผ ๊ตฌํ•œ๋‹ค
        int indexOfLargest = startIndex;
        for(int i = (startIndex + 1); i <= maxIndex; i++) {
            if(array[indexOfLargest] < array[i]) {
                indexOfLargest = i;
            }
        }
        
        // ๊ฐ€์žฅ ๊ฐ’์ด ์ปธ๋˜ ์›์†Œ์™€ ๋งจ ๋ index ์›์†Œ์˜ ๊ฐ’์„ ์„œ๋กœ ๊ตํ™˜ํ•œ๋‹ค
        int temp = array[maxIndex];
        array[maxIndex] = array[indexOfLargest];
        array[indexOfLargest] = temp;
    }
}

 

#2-2 ์ฝ”ํ‹€๋ฆฐ

fun selectionSort(array: Array<Int>, startIndex : Int, endIndex : Int) {

    for(maxIndex : Int in endIndex downTo (startIndex + 1)) {

        // ๋ฐฐ์—ด์„ ์ˆœํšŒํ•˜๋ฉฐ ๊ฐ€์žฅ ๊ฐ’์ด ํฐ ์›์†Œ์˜ index๋ฅผ ๊ตฌํ•œ๋‹ค
        var indexOfLargest = startIndex;
        for(i : Int in (startIndex + 1)..maxIndex) {
            if(array[indexOfLargest] < array[i]) {
                indexOfLargest = i
            }
        }

        // ๊ฐ€์žฅ ๊ฐ’์ด ์ปธ๋˜ ์›์†Œ์™€ ๋งจ ๋ index ์›์†Œ์˜ ๊ฐ’์„ ์„œ๋กœ ๊ตํ™˜ํ•œ๋‹ค
        val temp = array[maxIndex]
        array[maxIndex] = array[indexOfLargest]
        array[indexOfLargest] = temp
    }
}

 

#3 ์š”์•ฝ

์„ ํƒ ์ •๋ ฌ์€ ๊ฐ€์žฅ ํฐ ๊ฐ’ ํ•˜๋‚˜๋ฅผ '์„ ํƒ'ํ•ด์„œ, ๋’ค์ชฝ์— ์ฐจ๊ณก์ฐจ๊ณก ์Œ“๋Š” ์ •๋ ฌ์ด๋‹ค.
 

#4 ์ด ๊ฐœ๋…์ด ์‚ฌ์šฉ๋œ ๊ธ€

 

1181

#1 ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์—ฌ๋Ÿฌ ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. ์ƒํ™ฉ์— ๋งž์ถ”์–ด ๊ฐ€์žฅ ์ ์ ˆํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ณจ๋ผ์•ผ ํ•˜์ง€๋งŒ, ๋‚˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ณต๋ถ€ ์ค‘์ด๋ฏ€๋กœ ์‚ฌ์šฉํ•ด ๋ณด์ง€ ์•Š์€ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ค‘์— ์•„๋ฌด๊ฑฐ๋‚˜ ๊ณจ๋ผ์„œ

kenel.tistory.com

 

4153 - ์ง๊ฐ์‚ผ๊ฐํ˜•

#1 ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์„ ํƒ ์ •๋ ฌ (Selection Sort) #1 ์•Œ๊ณ ๋ฆฌ์ฆ˜ #2 ์š”์•ฝ (์ž๋ฐ”) public static void selectionSort(int[] array, int startIndex, int endIndex) { for(int maxIndex = endIndex; startIndex < maxIndex; maxIndex--) { // ๋ฐฐ์—ด์„ ์ˆœํšŒํ•˜๋ฉฐ ๊ฐ€

kenel.tistory.com

 

9076 - ์ ์ˆ˜ ์ง‘๊ณ„

#1 ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์„ ํƒ ์ •๋ ฌ (Selection Sort) #1 ์•Œ๊ณ ๋ฆฌ์ฆ˜ #2 ์š”์•ฝ (์ž๋ฐ”) public static void selectionSort(int[] array, int startIndex, int endIndex) { for(int maxIndex = endIndex; startIndex < maxIndex; maxIndex--) { // ๋ฐฐ์—ด์„ ์ˆœํšŒํ•˜๋ฉฐ ๊ฐ€

kenel.tistory.com