시간 및 공간 복잡도 분석 - 선택 정렬 알고리즘

시간 및 공간 복잡도 분석 - 선택 정렬 알고리즘

대충

선택 정렬 알고리즘이란?

선택 정렬 알고리즘은 각 숫자와 그 뒤에 오는 모든 숫자를 비교하여 현재 위치에 가장 큰 숫자 또는 가장 작은 숫자를 넣는 알고리즘입니다.
여기에 이미지 설명 삽입

코드 부분

public class select {
    public static void main(String[] args) {
       int[] arr = {79,3213,3,5,45,65};
       selectfFunction(arr);
       for (int i = 0; i < arr.length; i++) {
           System.out.println(arr[i]);
       }
    }

    public static void selectfFunction(int[] arr) {
       for (int i = 0; i < arr.length; i++) {
           for (int j = i + 1; j < arr.length; j++) {
               if (arr[j] < arr[i]) {
                   int temp = arr[j];
                   arr[j] = arr[i];
                   arr[i] = temp;
               }
           }
       }
    }
}

이에 대한 시간복잡도 분석 및 공간복잡도 분석

먼저 시간 복잡도에 대해 이야기하겠습니다.

시간 복잡도에 영향을 미치는 것은 이 두 for루프 입니다.

 for (int i = 0; i < arr.length; i++) {
    
    
           for (int j = i + 1; j < arr.length; j++) {
    
    
          
               }
           }
       }

첫 번째 for 루프는 n시간을 실행하고 n-1그 안에 루프를 중첩하므로 n(n-1)시간 복잡도는 O( n 2 n^{2}N2 )

공간복잡도에 대해 알아보자

공간복잡도는 생성된 변수가 너무 크기 때문에 temp공간복잡도는 O(1)입니다.

추천

출처blog.csdn.net/abaidaye/article/details/126546391