알고리즘개념 선택정렬, 삽입정렬 맨 처음 위치를 뺀 나머지 배열을 같은 방법으로 교체한다. 첫 번째 회전에서의 비교횟수 : 1 ~ (n-1) => n-1 두 번째 회전에서의 비교횟수 : 2 ~ (n-1) => n-2 (n-1) + (n-2) + .... + 2 + 1 => n(n-1)/2 따라서 최선, 평균, 최악의 경우 시간 복잡도는 O(n^2) 주어진 배열 안에서 교환(swap)을 통해, 정렬이 수행되므로 O(n) 이다... 알고리즘개념알고리즘개념 Index Tree (구간 합 구하기) 따라서 M개의 값을 갱신하는데 O(Mlog N) (M == 값 갱신 횟수) (N == start_index * 2)의 시간이 보장된다고 볼 수 있다. 이제 Index Tree를 이용해서 어떻게 구간합을 구할 수 있을지 생각해보자. left index가 짝수라는 의미는 자기 자신이 부모 노드의 left child라는 의미와 동일하다. 따라서 자기 자신을 구간 합 결과에 더하지 않더라도 부모 노... Index Tree알고리즘개념Index Tree
선택정렬, 삽입정렬 맨 처음 위치를 뺀 나머지 배열을 같은 방법으로 교체한다. 첫 번째 회전에서의 비교횟수 : 1 ~ (n-1) => n-1 두 번째 회전에서의 비교횟수 : 2 ~ (n-1) => n-2 (n-1) + (n-2) + .... + 2 + 1 => n(n-1)/2 따라서 최선, 평균, 최악의 경우 시간 복잡도는 O(n^2) 주어진 배열 안에서 교환(swap)을 통해, 정렬이 수행되므로 O(n) 이다... 알고리즘개념알고리즘개념 Index Tree (구간 합 구하기) 따라서 M개의 값을 갱신하는데 O(Mlog N) (M == 값 갱신 횟수) (N == start_index * 2)의 시간이 보장된다고 볼 수 있다. 이제 Index Tree를 이용해서 어떻게 구간합을 구할 수 있을지 생각해보자. left index가 짝수라는 의미는 자기 자신이 부모 노드의 left child라는 의미와 동일하다. 따라서 자기 자신을 구간 합 결과에 더하지 않더라도 부모 노... Index Tree알고리즘개념Index Tree