본문 바로가기
반응형

알고리즘20

DFS https://blog.naver.com/3246902/221901391897 불러오는 중입니다... 2020. 5. 1.
슬라이딩 윈도우(Sliding Window) 슬라이딩 윈도우는 일정한 범위의 구간 내에서 최솟값이나 최댓값을 구할 때 사용할 수 있다. 슬라이딩 윈도우는 기본적으로 양쪽에 push와 pop을 실행할 수 있는 자료구조가 필요하기 때문에 deque를 이용한다. 2020. 4. 19.
다이나믹 프로그래밍(Dynamic Programming) : 동적 계획법 DP란? : 답을 재활용해서 다시 사용해 비효율적인 계산을 줄인다. 한 번의 계산을 통해 답을 구한다. 현재의 답을 구하기 위해서 전에 구해놨던 답을 이용해서 구한다. 피보나치 수열이 대표적인 예 2가지 방법이 있다. 1. Top-down 위에서 아래로 내려오는 것, 큰 문제를 작은 문제로 나누어 푸는 것이다. 피보나치 수열을 예로 들어 설명하자면 네 번째 피보나치 수열을 구하기 위해서는 두 번째 피보나치 수열과 세 번째 피보나치 수열이 필요하다. 또 세 번째 피보나치 수열을 구하기 위해서는 첫 번째 피보나치 수열과 두 번째 피보나치 수열이 필요하다. 이렇게 큰 문제를 작은 문제로 나눌 수 있다. 2. Bottom-up 아래에서 위로 올라가는 것, 작은 문제부터 시작해 점점 큰 문제를 풀어나가는 것이다... 2020. 4. 19.
투 포인터(Two Pointers) 투 포인터는 두 곳을 가르켜서 투 포인터이다. O(n^2)의 시간복잡도가 걸리는 작업을 O(n)만에 해결해준다. 2개의 포인터를 조작해가며 원한느 작업을 수행하는 방식이다. 연속된 값들을 이용하여 풀어나가는 문제에 한정적으로 사용 가능하다. 연속성이 없다면 투 포인터 사용하기 어렵다. https://blog.naver.com/kdr06006/221803321164 투 포인터(Two Pointers) 안녕하세요.오늘은 투 포인터 알고리즘에 대해 알아보겠습니다.투 포인터 알고리즘은 시간복잡도를 크게 줄... blog.naver.com 2020. 4. 18.
반응형