Loading...
2023. 12. 31. 02:05

18장 평균과 중앙값의 차이

1. 서론 통계학은 과학의 한 분야이다. 그런데 통계학에는 물리학, 화학, 생명과학 등 다른 자연과학과 구분되는 특징이 있다. 바로 통계적 추론이다. 물리학적 추론, 생물학적 추론, 화학적 추론이라는 말은 없다. 그러나 통계적 추론이라는 말은 있다. 왜 그럴까? 물리학은 자연의 법칙을 설명한다. 물리학 이론이 맞는지 아닌지 판단하기 위해서는 자연이라는 심판자에 의존한다. 화학도 생명과학도 대기과학도 마찬가지이다. 그런데 통계학의 심판자는 누구일까? 데이터를 분석해 계산한 예측의 성공 여부가 심판자일까? 이것은 낚싯대와 물고기를 혼동한 대답이다. 분석의 결과가 물고기라면 그 물고기를 낚은 낚싯대가 통계학이다. 자연이라는 심판자가 없기에 통계학은 자신의 성과를 평가해줄 새로운 심판이 필요하다. 이 심판 과정..

모든 좌표까지 맨해튼 거리 합이 최소가 되는 위치를 구하는 방법

1. 모든 점까지 맨해튼 거리의 합이 최소가 되는 점의 위치? m차원의 n개의 점들 $P_{1}(x_{11},x_{12},...,x_{1m}), ... P_{n}(x_{n1},x_{n2},...,x_{nm})$에 대하여, 이들까지 맨해튼 거리의 합이 최소가 되는 점 X의 좌표를 구하라고 한다면, 어떻게 구할 수 있을까? 정답은 n개의 점들을 1,2,...,m차원의 좌표 값에 대하여 정렬한 다음, 중앙값에 해당하는 점의 좌표 $P_{median}$이 된다. 직관적으로 쉽게 눈치챌 수 있기는 한데, 왜 그런지 생각해보자. 2. 증명 먼저 점들의 좌표가 합에 서로 영향을 주지 않는다는 점을 관찰하자. 예를 들어 (3,5), (4,2), (5,1)에 대하여 (x,y)까지 맨해튼 거리의 합은.. $|x-3| + ..

[Java]running median 복습하면서 자바로 구현해보기

1. running median 우선순위 큐로 중앙값을 빠르게 구하는 방법 - running median (tistory.com) 우선순위 큐로 중앙값을 빠르게 구하는 방법 - running median 1. 개요 수열이 계속 변화할때, 이 수열의 중앙값을 어떻게 빠르게 구할 수 있을까 매번 정렬해서 중간의 값을 찾아야하는가? 최대 힙과 최소 힙을 이용하면 중앙값을 아주 쉽게 찾을 수 있다 결 deepdata.tistory.com 1) 최대힙과 최소힙 2개를 초기화 2) 최대힙의 원소의 수와 최소힙의 원소의 수가 동일하다면, 최대힙에 수를 넣어주고 3) 최대힙의 원소의 수가 최소힙의 원소의 수 + 1이라면, 최소힙에 수를 넣어준다. 즉 최대힙 > 최소힙 > 최대힙 > 최소힙 >....으로 번갈아가면서 수..

2023. 2. 21. 03:22

자바 초보에서 알고리즘 B형까지 도전기2 -사칙연산, 조건문 필수지식-

1. 나눗셈 연산의 몫과 나머지 나머지는 %연산으로 구할 수 있지만 몫을 구하는 연산은 python과는 다르게 따로 존재하지 않는다 몫을 구할려면 나눗셈 결과 a/b를 int형 변수에 저장하면 된다 1-1) 형변환에 주의 첫번째 (double)a / b는 a를 double로 바꾼 9.0을 4로 나눈 2.25를 내놓지만 (double) (a/b)는 a/b 결과인 2를 double로 바꾼 2.0을 내놓는다. 그런데 a/b 결과가 왜 2냐고? 정수 a,b끼리의 나눗셈 / 연산은 실수가 아니라 정수로 내놓는다. 나눗셈 연산에서 두 항이 모두 정수형이면 / 연산 결과는 정수형(몫)이 나온다. public class Main { public static void main(String[] args) { int a =..

2023. 1. 27. 01:45

그리디 알고리즘 - 거리의 합이 최소가 되는 위치를 찾는 방법

1. 문제1 18310번: 안테나 (acmicpc.net) 18310번: 안테나 첫째 줄에 집의 수 N이 자연수로 주어진다. (1≤N≤200,000) 둘째 줄에 N채의 집에 위치가 공백을 기준으로 구분되어 1이상 100,000이하의 자연수로 주어진다. www.acmicpc.net 2. 풀이 수직선 위에 위치한 점 중에서 모든 점까지 거리 합이 최소인 점의 좌표는 어떻게 찾을 수 있을까 직관적으로는 점의 좌표를 오름차순으로 정렬하고 당연히 중앙에 위치한 점이 모든 점까지 거리 합이 최소인 점일텐데 왜 그런지를 한번 생각해본다면.. 수직선 위에 집이 있을때, 맨 왼쪽 집에서부터 시작해서 오른쪽으로 한칸씩 이동한다고 생각해보자 1부터 시작해서 오른쪽으로 이동한다고 해보면... 왼쪽 집 1개와 거리가 +1 하지..

2022. 10. 18. 01:33

우선순위 큐로 중앙값을 빠르게 구하는 방법 - running median

1. 개요 수열이 계속 변화할때, 이 수열의 중앙값을 어떻게 빠르게 구할 수 있을까 매번 정렬해서 중간의 값을 찾아야하는가? 최대 힙과 최소 힙을 이용하면 중앙값을 아주 쉽게 찾을 수 있다 결론부터 말하자면, (크기와는 무관하게) 항의 순서대로 수열이 주어질때 최대힙에 들어간 원소의 수와 최소힙에 들어간 원소의 수가 서로 같을 때는 최대힙에 수를 넣어주고 최대힙의 원소의 수가 최소힙의 원소의 수보다 1개 더 많을때는 최소힙에 수를 넣어준다 즉 항상 최대힙 > 최소힙 > 최대힙 > 최소힙 >.. 으로 번갈아가면서 수를 넣어준다. 힙은 완벽하게 정렬해주지는 않지만, 루트에는 최소힙이면 힙에 들어간 원소들 중 최솟값이, 최대힙이면 힙에 들어간 원소들 중 최댓값이 온다는건 확실하다 최대힙에 원소를 넣으면 최대힙..