전체 글(97)
-
Fenwick 알고리듬(3)
Index 추적 예제 (2) 앞에서 설명한 이진수 계산 절차 방법이 충분히 익숙하지 않을 것이라 생각하여 조금 더 연습을 해보자. 위의 예는 각각 다른 index를 변경한 경우이다. 좌측의 트리에서는 3번 (원래 배열 원소 2번)이 6에서 10으로 바뀐 경우이고, 우측의 트리는 1번 (원래 배열 원소 0번)이 3에서 4로 변경된 경우이다. 첫번째의 예는 3번에서 시작하여 4번을 정확하게 변경하고 8번에서 끝나야 하는 경우(3번 -> 4번 -> 8번)이다. 우측의 두번째 예는 1번 -> 2번 -> 4번 -> 8번으로 변경이 완료되면 된다. 우리가 정확하게 이해를 해야하는 부분은 "(같은 부모 노드에 해당하는 4번 인덱스 아래 각각 분리되어 존재하는) 2번과 3번 인덱스가 어떻게 (동일한) 부모 노드 4번을..
2020.09.18 -
트럼프의 대선 전략 - 위스콘신 주 낙농업 지원
2020년 7월 1일부터 개정된 새로운 북미무역협정(USMCA,United States–Mexico–Canada Agreement)를 중심으로 트럼프의 위스콘신(Wisconsin)주의 낙농업에 대한 지원은 계속되고 있다. 이는 10명의 선거인단(electoral voters)을 가진 작은 주이지만 트럼프에게는 이번 11월 대선에서 가장 중요한 전략적인 주(swing state)중의 하나가 위스콘신이다. 일부 민주당 지지층은 크게 동요되지 않지만, 대부분의 위스콘신 주의 낙농업에 종사하는 사람들은 트럼프에 대한 압도적인 지지를 보내고 있다. 지난 달 한 모임에서 트럼프 대통령은 새로운 무역협정은 중요한 전환점이 될 것이며, 캐나다는 그 동안 "낙농업에 한하여" 미국을 "불공평하게" 이용하였으나 더 이상은 ..
2020.09.15 -
Fenwick 알고리듬(2)
Binary Indexed Tree 구조 앞에서 살펴본 테이블로 표시된 Fenwick 을 왜 Binary Indexed Tree 구조라고 부르는지 살펴볼 시간이다. 여기서도 0번 index에 해당하는 원소는 큰 의미가 없다. 살펴볼 것은 각각의 푸른 색 원소들은 모두 마지막 노드에 속해있고, (바로 앞의 원소의 값과 자신의 값의 부분합을 가지고 있는) 녹색의 원소는 그 푸른색의 원소만을 자녀 노드로 구성하고 있다. 아래의 구조 내에서 처음 언급한 2개의 Operation이 어떻게 움직이는 지 다시 한번 살펴보자. 1) 부분 합을 가져와야 하는 경우 : Sum 만약 최초 배열의 0번부터 5번까지의 합을 가져와야 하는 경우라면, Fenwick 배열에서는 1번부터 6번까지의 배열 내의 값들의 합을 가져오면 된..
2020.09.14 -
Fenwick 알고리듬(1)
Fenwick 알고리듬 (BIT Algorithm) - 시작 이 알고리듬은 다른 이름으로는 BIT(Binary Indexed Tree) 알고리듬이라고 하는데, 1994년 뉴질랜드의 Auckland 대학 교수였던 펜윅(Peter Fenwick) 교수에 의하여 발표되었다. 개인적으로 이 알고리듬을 처음 이해하는데 다른 알고리듬보다는 시간이 더 걸렸던 기억이 난다. 전체 그림을 이해하고 나면 별 문제가 없지만, 처음에는 구체적인 몇 가지 논리 흐름들은 스스로 따라가야만 쉽게 이해되는 부분이 있다. 나 역시 다른 유투버들의 설명을 10개 가량을 시청하고 그 중 한두 개는 집중적으로 보았다. 하지만 매우 좋은 내용을 가진 유투브도 일부 있었지만 어떤 것은 한 시간을 넘게 투자하고도 시간만 낭비한 느낌을 받은 것도..
2020.09.13 -
미국의 무거운 역사 (4) - 남북전쟁의 큰 그림
남북 전쟁 관련 참조 자료 미국 남북 전쟁의 전투를 상세하게 이야기하는 것은 매우 어려운 일이다. 공식적으로도 1만(10,000 - 11,000)회 이상의 교전이 있었고 중요한 전투만도 100 회 이상 벌어진 4년간의 전쟁이었다. 스무 개 가량의 중요한 전투들을 천천히 읽고 조사하면서 이 세부적인 것들을 모두 이야기하는 것보다는 큰 흐름만 언급을 하고, 이 글을 읽고 개인적으로 관심이 있는 분들을 위하여 직접 찾아볼 수 있는 자료나 사이트를 소개하는 것이 낫겠다는 생각을 했다. 개인적으로 가장 기본적으로 많이 참조한 자료는 미국의 한 출판사(Houghton Mifflin Harcourt Publishing Company)에서 발행한 교재이다. 이 책의 제목은 "미국인"(The Americans, Holt..
2020.09.13 -
로그의 힘 - Power of Logarithm
고등학교 때 이과를 택한 사람들은 수학 시간에 한번은 log에 대해서 배운다. 여기서는 로그를 계산하는 수학 원리나 계산 방법에 대해서 논의할 생각은 없다. 단지 컴퓨터에서 알고리듬의 성능(Performance)을 측정하는 방법으로서 로그에 대한 이야기를 하려고 한다. 존 네이피어 (John Napier, 1550-1617) 로그 계산법을 최초로 창안한 사람은 스코틀랜드의 존 네이피어이다. 그는 수학자이자 천문학자로서 (지금과 같은 계산기나 컴퓨터가 없던 시기에) 잦은 천문학 계산 작업을 편하게 하기 위하여 로그를 만들었다. 이 원리는 당연히 지수들을 수학적으로 처리하는 논리이지만, 로그라는 log 수식 기호 자체는 발견이라기 보다는 발명에 더 가깝다고 - 개인적으로 - 이해한다. 로그의 활용은 매우 광..
2020.09.12