종료/자료구조 & 알고리즘(2)
-
자료구조 & 알고리즘 | 01. 빅오 표기법
자료구조 & 알고리즘, 첫 강좌는 빅오 표기법 (Big-O Notation)으로 시작하려한다. 알고리즘은 수많은 방식으로 전개되고, 수많은 종류의 자원(ex: 시간, 메모리)를 요구한다.예를 들어, 다음 곱셈을 할 때의 알고리즘을 생각해보자.곱셈을 할 때에는, 두 수의 각 자리수를 분리하여 각각 곱한 후 더하게 된다. 1000*40+1000*5+0*40+0*5+0*40+0*5+0*40+0*5 로 계산하여 45000이라는 결과를 얻어낸다는 얘기다.여기서는 1000이 네 자리 수, 45가 두 자리 수이므로 곱셈을 총 4*2=8번하였다.또 하나의 예시를 살펴보자.이 예시에서는 총 몇 번의 곱셈을 해야할까?그렇다. 163이 세 자리 수이고, 2가 한 자리 수 이므로 3*1=3번 곱셈을 한 셈이다. 그렇다면, 이..
2018.12.22 -
자료구조 & 알고리즘 | 00. 강좌에 앞서
잠깐. 라는 쓰기 전에 앞서, 질문 하나를 던지며 시작하겠다."알고리즘이란 무엇이며, 자료구조는 무엇인가?" 우선, 네이버 국어사전에 따른 알고리즘(=알고리듬)의 사전적 정의는 다음과 같다.말 그대로, 어떤 결과를 이끌어내기 위한 일련의 과정이다. 이해가 단번에는 쉽지 않을테니, 다음의 예시를 살펴보자.필자는 현재 식탁 앞에 서있고, 식탁 위에 놓인 피자를 먹고자 한다.이때, 피자를 먹는 과정을 순서대로 나타내면팔을 든다. -> 피자를 집는다. -> 피자를 입으로 가져간다. -> 피자를 먹는다.정도로 나타낼 수 있으며, 이것을 우리는 피자를 먹는 알고리즘이라 부를 수 있다. 다음, 역시나 네이버 국어사전에 따른 자료 구조의 사전적 정의를 알아보자.자료 구조의 사전적 정의가 어렵게 느껴질 수 있는데, 축약..
2018.12.21