반응형

Algorithm/알고리즘 이론 3

선형 자료구조 (Linear Data structure) - 배열

선형 자료구조 : 데이터 요소가 순차적(Sequential)으로 배열되는 자료구조, 단일 레벨로 구성되어 한 번에 탐색 가능하고 구현하기 쉬움. : 배열, 스택, 큐, 연결 리스트 등이 해당됨. 배열 : 값 또는 변수 엘리먼트의 집합으로 구성된 구조. 하나 이상의 인덱스 또는 키로 식별됨. : 고정된 크기 만큼의 연속된 메모리 할당 : 자료구조 중 메모리 공간 기반의 연속 방식의 가장 기본이 되는 자료형 - 자료구조는 크게 메모리 공간 기반의 연속 방식(contiguous) / 포인터 기반의 연결 방식(link)으로 나뉜다. - 포인터 기반의 연결 방식의 기본 -> 연결 리스트 : 어느 위치에나 O(1)에 조회 가능 동적 배열 : 실제 데이터의 전체 크기를 가느맣기 힘들 때 크기를 지정하지 않고 자동으로..

[탐욕 알고리즘] 개념과 응용 문제(거스름돈 문제, 프로그래머스 체육복)

탐욕 알고리즘은 동적 프로그래밍 사용 시 지나치게 많은 일을 한다는 것에서 착안한 알고리즘이다. 동적 계획법과 마찬가지로 최적화 문제를 푸는데 주로 사용한다. 동적 계획법은 재귀관계식을 세워서 입력 사례를 더 작은 입력 사례로 분할한다. 그런데 탐욕 알고리즘은 입력사례를 분할하지 않는다. 탐욕 알고리즘은 순서대로 답을 모아서 최종 답을 구축하는데, 답을 모으는 당시의 가장 좋은 최적해를 선택해 모은다. 그래서 탐욕 알고리즘은 어떤 선택이든지 선택할 당시의 최적해를 구한다고 하여 locally optimal choice를 구한다고 한다. 전체적으로 최적인 해(globally optimal choice)를 구하고 싶지만 항상 최적해를 구한다는 보장이 없기 때문에, 반드시 최적인 해답을 얻는지 확인하는 절차를..

반응형