>source

단일 루프의 사용법으로 삽입 정렬을위한 다음 구현을 썼습니다. 그것은 o (n) 평균 시간 복잡성을 제공합니까?

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class InsertionSort {
    public static void main(String[] args) {
        List<Integer> arr= new ArrayList<>(Arrays.asList(3, 1, 9, 2, 0));
        insertionSort(arr);
        System.out.println(arr);
    }
    public static void insertionSort(List<Integer> arr) {
            for (int j= 0; j < arr.size() -1; ) {
                if (j < 0) {
                    j++;
                }
                if (arr.get(j) > arr.get(j + 1)) {
                    int temp= arr.get(j);
                    arr.set(j, arr.get(j + 1));
                    arr.set(j + 1, temp);
                    j--;
                } else {
                    j++;
                }
            }
    }
}

그게 생각하니? 알고리즘은 어떨까요?

tgdavies2021-07-20 17:30:09

평균 시간 복잡성으로 무엇을 정의합니까? 알고리즘이 어떻게 달성하는지 간단히 설명 할 수 있습니까?

smac892021-07-20 17:30:09
  • 이전 python : index.fcgi 경로를 구성하는 방법?
  • 다음 php : WordPress 로고에 SVG 사용