본문 바로가기

Recursion2

Fibonacci(피보나치), Tribonacci 문제 풀이 DP, Recursion, Bottom Up Tribonacci 수열 피보나치 수열이란, 특정 항이 앞의 두 항의 합과 같은 수열을 의미한다. 첫번째와 두번째 항의 값은 0, 1로 고정된다. 피보나치 수열의 n 번째 값이 무엇인지 계산하는 것이 코딩 기본 문제에 종종 등장한다. Tribonacci 수열은, 피보나치 수열에서 1개의 항을 더 추가하는 것이다. 즉, 특정 항의 값이 앞의 세개 항의 합과 같은 수열이다. 이때 첫번째, 두번째, 세번째 항의 값은 각각 0, 1, 1로 고정된다. 예를 들어, Tribonacci의 4번째 항은 0 + 1 + 1 = 2이다. 5번째 항은 1 + 1 + 2 = 4가 되는 것이다. Tribonacci 수열의 n번째 값을 계산하는 문제도 종종 코딩 문제로 나온다. 문제 풀이 방식은 피보나치와 다를게 없다. 연습해보고.. 2023. 7. 27.
Binary Tree Traversal, Binary Tree Leetcode의 문제를 풀려고 설명을 읽던 중 inorder traversal 이란 단어에서 막혔다. 몇몇 Tree 문제를 풀었는데도, 처음 보는 단어가 튀어 나와 공부할게 생겼다. traversal이란 Binary Tree 자료 구조의 모든 노드를 방문할 수 있는 방법이다. 선형 자료 구조 (연결 리스트, 스택, 큐 등)은 순차적으로 접근하지만 Tree 자료 구조의 접근 방식은 다르다. 보통 Tree에서는 Depth First Search (DFS), Breadth Frist Search (BFS)를 사용해 노드 순회 및 탐색이 가능하다. Binary Tree인 경우 위 두 방법과 함께 Recursion 방법을 사용해 순회 및 탐색이 가능하다. DFS로 Tree를 순회할 경우, Queue를 활용하면 .. 2023. 3. 7.