목록알고리즘 (2)
개발블로그
C언어로 작성된 프로그램은 세가지 종류의 메모리영역을 가진다. 1. 전역 변수나 정적변수가 저장되는 정적 메모리(Static Memory) - 데이터 영역 - 프로그램에서 사용될 전역 변수/정적 변수를 메모리에 할당한 후 프로그램이 종료될 때 해제하는 영역 2. 지역 변수가 저장되는 자동 메모리(Automatic Memory) - 스택 영역 - 스택 구조로 이루어져 있어 이곳에 저장된 변수는 코드블록이 종료됨에 따라 자동으로 메모리에서 제거됨. int Plus(int a, int b) // a와 b는 자동 메모리에 저장됨. { int c = a + b; // c도 자동 메모리에 저장됨. return c; } // a, b, c 모두 자동 메모리에서 제거 됨. 3. 자유저장소(Free Store) - 힙 ..

* 탐욕 알고리즘 미래를 생각하지 않고 각 단계에서 최선의 선택을 하는 알고리즘. 각 단계에서 최선의 선택을 한 것이므로, 전체적으로도 최선을 바라는 알고리즘이다. -> 여러 경우 중 하나를 선택할 때 그 상황에서 가장 좋다고 생각하는 것을 선택하는 것. 하지만 이 선택이 최선의 선택이지 최고의 선택은 아니다. 즉, 최적해를 구하는 상황에서 사용하는 알고리즘. Greedy의 가장 큰 장점은 속도에 있다. Greedy 방법이 통하는 몇몇의 문제에서는 최적해를 빠르게 산출해 낼 수 있다. 빠른 계산 속도의 장점으로 Dynamic Programming의 단점을 보완하는 개념으로 사용할 수 있다. 해 - 방정식, 혹은 부등식을 충족하는 미지수의 값. 최적해 - 선형 계획법에서 제약 조건을 충족시킬 수 있는 해 ..