메모이제이션

·Algorithm
동적 프로그래밍 메모이제이션동적 프로그래밍(Dynamic Programming, DP)은 복잡한 문제를 해결하기 위해 작은 부분 문제로 나누어 해결하는 방법.메모이제이션(Memoization)은 이미 계산한 결과를 저장해두고, 동일한 계산을 반복하지 않도록 하는 기술.특징부분 문제의 중복: DP는 동일한 부분 문제를 여러 번 계산하는데, 메모이제이션을 통해 이를 방지합니다.탑다운 접근법: 재귀적으로 문제를 해결하면서, 이미 계산한 결과를 저장.공간 복잡도: 결과를 저장하기 위한 추가 메모리가 필요.장단점장점단점중복 계산 방지로 성능 향상추가 메모리 사용재귀적 접근으로 코드 가독성 향상초기 메모리 할당 및 관리 필요일부 문제에 대해 간단하고 효율적인 솔루션 제공DP가 적용되지 않는 문제도 존재 시간복잡도 ..
·FrontEnd/React
* 해당 게시글은 모던 리액트 Deep Dive 도서를 공부하며 정리한 내용입니다.  메모이제이션리액트에서 제공하는 useMemo, useCallback, memo 등은 리액트에서 발생하는 렌더링을 최소한으로 줄이기 위해서 제공주장 1: 섣부른 최적화는 독이다. 꼭 필요한 곳에만 메모이제이션을 추가하자메모이제이션도 어디까지나 비용이 드는 작업이므로 쵲거화에 대한 비용을 지불 할 때는 항상 신중해야 됨.대부분 가벼운 작업 자체는 메모이제이션해서 자바스크립트 메모리 어딘가에 두었다가 그것을 다시 꺼내오는 것보가 매번 작업을 수행해 결과를 반환하는 것이 더 빠를수도 있음.값을 비교하고 렌더링 혹은 재계산이 필요한지 확인하는 비용결과물을 저장해 두었다가 다시 꺼내와야한다는 두가지 비용주장 2: 렌더링 과정의 비..