JavaScript 이진 탐색 트리 구현: 중복 키와 세 가지 삭제 처리
작은 숫자 트리로 탐색 방향과 삭제의 세 경우를 배웁니다. 남은 자식과 후계자를 어디에 연결하는지 먼저 확인하고 전체 구현을 읽습니다.
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
웹사이트 제작·운영과 개인 서비스, 자동화·AI 도구를 만들며 배운 내용과 문제 해결 과정을 정리합니다.
작은 숫자 트리로 탐색 방향과 삭제의 세 경우를 배웁니다. 남은 자식과 후계자를 어디에 연결하는지 먼저 확인하고 전체 구현을 읽습니다.
네 칸의 사물함 예제로 해시 충돌과 원래 키 비교를 배웁니다. 작은 코드부터 재배치와 문자열 정규화까지 단계적으로 연결합니다.
세 칸의 원형 배열로 덱을 이해합니다. 앞 위치와 개수가 바뀌는 과정을 따라간 뒤 양끝 삽입·삭제 구현으로 연결합니다.
head와 tail을 관리하며 곡을 추가·재생하는 독립 창작 연습입니다.
도착과 호출 명령을 FIFO 큐로 처리하는 독립 창작 연습입니다.
A가 B를, B가 C를 가리키는 작은 목록부터 시작합니다. JavaScript 객체 두 개를 연결하고, 연결을 바꾸는 이유를 손으로 따라간 뒤 뒤 추가·앞 제거를 구현합니다.
번호로 값을 읽고, 끝에 값을 붙이고, 가운데 값을 지울 때 칸이 어떻게 달라지는지 한 단계씩 확인합니다.
이름부터 외우지 않아도 됩니다. 실제로 자주 할 동작을 하나 고르면 배열·스택·큐·Map·Set 중 알맞은 출발점이 보입니다.
등록번호를 순서 없이 추가하면서 방문자가 제시한 기준 이상인 가장 작은 번호를 안내합니다. 중복 등록은 한 번으로 취급하며 없는 답은 null입니다.
작은 트리의 회전 전후를 비교하며 AVL을 배웁니다. 가운데 가지의 이동과 높이 갱신 순서를 먼저 익히고 네 회전과 전체 구현으로 연결합니다.
최근 사용한 타일만 보관하며 각 요청의 캐시 적중 여부와 마지막 보관 순서를 구합니다. 적중한 요청도 최근 사용 시점을 갱신합니다.
용량 두 칸의 캐시로 LRU 정책을 배웁니다. Map 조회와 이중 연결 리스트의 위치 이동을 분리해 각 연결을 바꾸는 이유를 설명합니다.
무엇을 도와드릴까요?
이 글과 함께 공부하기
읽다가 막힌 부분을 물어보세요. 이 글을 바탕으로 설명하고, 이어서 읽을 본문을 연결합니다.