728x90

알고리즘 3

Growth of Functions

Gorwth of Functions: 함수의 성장함수의 행동을 한계에서 설명하는 방식을 asymptopic effciency(점근적 효율성)이라고 한다.이 방식에서는 저차항과 상수계수를 무시하고 중요한 부분에 집중하여 알고리즘의 실행시간을 나타낸다.알고리즘의 실행시간으로는 함수의 크기(알고리즘의 성능)를 비교할 수 있다. 위 사진은 $\Theta, O, \Omega$ 표기법의 그래프 예시다.각 부분에서, $n_0$의 값은 가능한 작은 값이며, 이보다 더 큰 값도 동일한 역할을 할 수 있다.여기서 역할이란, f(n)과 g(n)을 비교하는 임의의 시작점이다. (a) 빅세타(Big Θ) 표기법양의 상수 $n_{0}, c_{1}, c{2}$가 존재하며, $n_0$의 오른쪽에서 $f(n)$의 값이 항상 $c_{1..

Getting Started

알고리즘 공부 좀 미리 해둘걸ㅠㅅㅠ 이 과목은 철저한 복습과 암기가 살 길이라는 것을 2주차에 직감했다... 진짜 행복하네수업시간에 모르는 것들이 나오면 따로 공부해서 추가적인 포스팅을 하도록 하겠슴미다. Insertion Sort: 삽입 정렬삽입 정렬 알고리즘이란 자료 배열의 모든 요소를 앞에서부터 차례대로 이미 정렬된 배열 부분과 비교하여, 자신의 위치를 찾아 삽입하고 정렬하는 알고리즘이다.쉽게 말하자면, 카드 정리라고 할 수 있다. 나는 원카드 게임을 할 때 패를 받으면 오름차순으로 정렬을 한다(2, 5, 8, 9). 또 새로운 카드를 손에 넣었을 때 숫자 크기를 비교하여 알맞은 위치에 카드를 꽂아넣는다(2, 5, 7(new!), 8, 9). 이게 삽입 정렬이다.  삽입 정렬 알고리즘의 알맞게 수행..

The Role of Algorithms in Computing

알고리즘이란?입력을 가지고 출력을 생산하는 논리적인 계산 절차입력을 출력으로 변환하는 계산적인 단계의 절차잘 명시된 계산적인 문제를 해결하는 도구입력이란 주어진 문제의 인스턴스 즉, 처리대상을 뜻한다.출력이란 주어진 문제의 해결방법을 뜻한다. 좋은 알고리즘(정답인 알고리즘?)에는 몇가지 조건이 존재한다.모든 입력 인스턴스에 대하여 알맞은 출력과 함께 알고리즘이 멈춰야한다.따라야할 계산 절차를 정확하게 설명해야한다.좋은 알고리즘이란 당연히 주어진 문제를 해결할 수 있는 알고리즘이고, 멈추지 않거나 목표한 답과는 다른 답을 가지고 멈추는 알고리즘은 틀린 알고리즘이다.문제를 해결하는 방법 데이터 구조(data structures)를 사용하여 효율적인 알고리즘을 구현할 수 있다.데이터 구조란 데이터를 저장하고 ..

728x90