반응형

알고리즘/이론 2

Recursion - Basic, Permutation and Combinations

재귀 함수라고도 하는 Recursion은 함수에서 같은 함수를 다시 호출한다.  대표적인 예시는 아래의 링크에 들어가보면 알 수 있다.아래의 링크 이렇듯 아래의 링크를 무한정 누르게 되면 같은 함수가 수없이 반복이 되기 때문에 재귀 함수의 기본은 base case를 작성하여 더이상의 재귀가 발생하지 않도록 하는 점에 있다. 그래서 기본적인 Recursion의 구조는 아래와 같다. public static void perm(int depth) { if (M == depth) { for (int num : output) sb.append(num).append(" "); sb.append("\n"); return; } ..

알고리즘/이론 2024.08.14

Two Pointers

투포인터는 한가지의 포인터로 배열안의 모든 요소를 비교 하는게 비효율적이거나 배열 안에서 페어단위로 조사를 할 필요성이 있을 때 대표적으로 사용되는 알고리즘이다.  투포인터 알고리즘이 사용 되기 좋은 상황의 경우 아래와 같다.1. 두 배열의 Intersection을 찾을 때2. 두 배열의 용소를 합칠 때3. 두 배열의 차이를 찾을 때즉, 두개의 배열을 사용하는 경우 유용하다. 이런 투포인터의 핵심은 포인터와 포인터가 움직이는 조건에 대한 파악이다.그리고 두개의 포인터이니 조건을 판단하고 어떤 포인터를 움직여야 하는지에 대해 파악이 필요하다. 예를들어 주어진 값과 배열 안에서 주어진 값을 만들 수 있는 하나의 페어를 찾아야 하는경우 배열 가장 앞과 뒤에 두개의 포인터를 두고 합이 값보다 클경우 가장 뒤에있..

알고리즘/이론 2024.08.06
반응형