재귀

CS/알고리즘

[알고리즘] 동적 계획법(Dynamic Programming, DP) 개념과 활용

동적 계획법(Dynamic Programming, DP)이란?동적 계획법이란 하나의 큰 문제를 여러 개의 작은 부문제로 나누고, 그 결과를 저장하여 다시 큰 문제를 해결할 때 사용하는 기법이다.동적 계획법 vs 재귀적 호출재귀적 호출일반적인 재귀 방식은 동적 계획법과 매우 유사하다. 단, 재귀를 사용 시 동일한 작은 문제가 여러 번 반복되어 비효율적인 계산이 이루어진다는 것이다. 예를 들어 피보나치 수열을 살펴보자. 각 항을 구하기 위해 f(1), f(0)이 등장할 때까지 계속해서 반환하고, 더하는 작업을 진행한다. 또한 값을 따로 저장해두지 않기 때문에 이전에 구했던 값을 다시 처음부터 계산한다. 이러한 계산 방식 때문에 구하는 항이 증가함에 따라 계산 횟수가 기하급수적으로 늘어난다. 1,  1,  2..

[프로그래머스] 데이터 엔지니어링 데브코스 3기/TIL(Today I Learn)

[TIL - 1일 차] 데이터 엔지니어링 : 자료구조/알고리즘 풀기 (1)

안녕, 자료구조 & 알고리즘! 자료구조 문자열, 리스트, 사전, 순서쌍(튜플), 집합 등의 자료형이 존재하는데 "자료구조"는 왜 알아야 하는가? 리스트와 max 함수를 활용해서 최댓값을 찾아내는데, 원소의 개수에 비례하여 실행시간이 증가 무작위의 숫자가 주어졌을 때, 최댓값을 빠르게 얻을 수 있도록 하는 특정 자료구조가 존재 어떤 문제를 해결할 것인가에 따라 적절한 자료구조가 달라짐 알고리즘 사전적 정의 : 어떤 문제를 해결하기 위한 절차, 방법, 명령어들의 집합 프로그래밍 : 주어진 문제의 해결을 위한 자료구조와 연산 방법에 대한 선택 해결하고자 하는 문제에 따라 최적의 해결 방법이 달라지며, 방법을 선택하기 위해 자료구조 이해가 필요 선형배열(Linear Array) 배열 : 원소들을 순서대로 늘어놓..

기억에 남는 블로그 닉네임
'재귀' 태그의 글 목록