자료구조와 알고리즘

자료구조와 알고리즘

동적계획법 ( DP , Dynamic Programming)

⚡DP란? 메모리를 적절히 사용하여 수행 시간 효율성을 비약적으로 상승시키는 방법입니다. 이미 계산 된 결과(작은 결과)를 별도의 메모리공간에 저장해두고 그 결과가 필요할때 꺼내서 사용하여 다시 계산하지 않도록 하며 일반적으로 탑다운 방식과 바텀업 방식 두가지 방식으로 구현됩니다. ⚡동적계획법이면 자료구조에서 말하는 동적 할당이랑 비슷한거임? 아니오 자료구조에서의 동적할당은 프로그램이 실행되는 도중 실행에 필요한 메모리를 할당하는 기법 을 말합니다. 하지만 동적계획법에서 동적(Dynamic)은 그냥 별 의미 없이 사용된 단어입니다. ⚡DP 이거 언제 쓸 수 있음? 1. 최적 부분 구조(Optimal Substructure)와 2. 중복되는 부분 문제(Overlapping Subpromblem) 두 조건이..

자료구조와 알고리즘

탐욕 알고리즘 (Greedy Algorithm)

⚡탐욕알고리즘(Greedy Algorithm)이란? 매순간 최적 해를 선택하면서 최종적으로 최적해에 도달하는 알고리즘 설계기법 쉽게 생각하면 당장 눈 앞에 놓인 선택지 A, B 중 당장 더 좋은 선택지를 고르는걸 반복하는 것으로 최종적인 해답에 도달하는 방법입니다. 욕은 인간에게는 죄악이지만 문제를 풀 때에는 아주 좋은 방법이 될 수도 있군요 지역적으로는 최적인 선택이지만 항상 전역적으로 최적이라는 보장은 없지만 보통 탐욕알고리즘을 활용하는 문제는 지역적으로 최적이면서 전역적으로도 최적인 문제들입니다. ⚡탐욕알고리즘 정리 1. 매순간 최적해를 선택하면 최종적으로 최적해에 도달 2. 현재 상황에서 지금 당장 좋은 것만 고르는 방법 3. 일반적으로 문제를 풀기 위한 최소한의 아이디어를 떠올릴 수 있는 능력이..

냠냠맨
'자료구조와 알고리즘' 카테고리의 글 목록