첫 번째 원칙의 건너뛰기 목록입니다. 모든 역에 정차하는 기차를 타면 그 역보다 훨씬 아래쪽에 정차합니다. 간단하게: 숫자를 정렬된 상태로 유지하고 숫자 중 하나를 빠르게 찾고 추가하거나 제거하세요. 정렬된 연결 목록은 쉽게 삽입되지만 한 번에 하나의 노드를 검색하고, 정렬된 배열은 빠르게 검색하지만 삽입할 때마다 이동합니다. 건너뛰기 목록은 정렬된 연결 목록에 희박한 고속 차선을 쌓습니다. 검색은 왼쪽 상단에서 시작하고 다음 키가 너무 크지 않을 때 오른쪽으로 이동하며 초과할 때 차선을 삭제하고 동전 뒤집기로 각 새 키에 높이를 제공하므로 재조정이 없습니다. 우리는 9에 대해 5단계에서 52를 추적하고, 10에 대해 6단계에서 부재 검색을 추적하며, 타워를 2개의 차선으로 연결하는 동전 던지기를 사용하여 35를 삽입합니다. 우리는 약 2개의 log n 단계가 소요되고, 불운한 동전, 중복 키, 차선 및 무제한 높이를 놓치는 삭제로 이를 깨고 정직한 비용을 명시합니다. 예상되는 log n 검색, 삽입 및 삭제, 키당 약 2개의 포인터, 그리고 시드가 있는 백만 개의 키에 대해 약 20개 레인, 평균 약 38단계, 최악의 경우 70단계가 표시되며 일반 목록의 경우 평균 50만 단계입니다. 균형 잡힌 트리, 정렬된 배열 및 해시 테이블과의 절충, Redis 정렬 세트, RocksDB 및 LevelDB 메모리 테이블, 대기열 및 속도 제한기, 정렬된 스캔, 무작위성, 캐시 동작 및 연습 페이지에서의 사용. 데이터베이스가 제공하는 사다리 구조의 세 번째 단계입니다. AI 엔지니어 코딩 라운드를 위해 제작되었습니다. 사이트에서 직접 연습해 보세요(무료, 브라우저에서 실행): https://vibeengines.com/algorithm/skip-list 이 페이지에는 시뮬레이터, 숨겨진 테스트가 포함된 코딩 작업, 힌트 및 자세한 설명이 있습니다. 챕터 0:00 질문: 정렬 및 빠른 찾기, 추가, 제거 0:50 무차별 대입: 연결 목록 및 정렬된 배열 1:19 아이디어: 빠른 레인, 오른쪽 후 놓기, 동전 뒤집기 1:59 검색 추적 및 10개의 키를 통한 삽입 3:02 로그 n 단계와 회전이 없는 이유 3:34 깨기: 불운한 동전, 삭제, 높이 제한 4:21 라이브 상태의 코드 4:48 백만 개의 키를 사용한 세부적인 시간과 공간 5:53 절충: 균형 잡힌 트리, 정렬된 배열, 해시 테이블 6:35 AI 시스템의 위치 7:06 엣지 케이스: 스캔, 무작위성, 캐시, 빈 목록 7:45 Vibe 엔진에서 연습 데이터베이스가 사이트에 제공하는 구조의 세 번째 단계: B-트리, LSM 트리, 스킵 목록, 조각 테이블 및 일관된 해싱. #skiplist #데이터 구조 #알고리즘 #redis #aiengineer #systemdesigninterview #codinginterview