2

그래서 나는 확률 스킵리스트 공간 사용에 대한이 질문 보았다 : (answer)확률 스킵 목록 공간의 복잡성

을하지만 나는 그가 예상 접근 또는 최악의 경우 접근 방식을 원한다면 아스 커는 분명하지 않다 생각합니다.

저는이 질문을 다시 토론에 올리고 싶습니다. 왜 내가 혼란스러워하는지 설명 할 것입니다.

명확하게 - 나는 의 최악의 사례에있는 확률 적 건너 뛰기 목록의 공간 복잡성을 찾고 있습니다.

한편, 최대 레벨 수는 log (n)이라고 가정합니다. 최악의 경우에 우리는 각 레벨에 n 개의 노드가있을 수 있다고 추측하기 쉽습니다. O (n logn). 한편 log (n) 수준 (예 : 목록) 이상일 수 있다고 가정하고 그 경계를 n으로 설정 한 다음 n을 얻습니다. n => O (n^2)

그러나! 나는 레벨을 제한 할 권리가 왜 있는지 이해하지 못한다. 새로운 레벨이 동전 던지기에 달려있다면, 최악의 경우에 우리는 새로운 레벨 (즉, 새로운 레벨)을 얻게 될 것이다. 심지어 묶여 있지 않아?! 혼란 스럽습니다.

답변

1

건너 뛰기 목록의 높이에 상한을 설정하지 않으면 최악의 공간 사용에 대한 상한이 없습니다. 당신이 놓을 수있는 어떤 경계를 위해, 상 한계가 지키지 않을 수있을 정도의 많은 수의 층을 가져올 수있는 무시 무시한 천문학적으로 불가능한 실행자가 있습니다. 이런 이유로,이 경우 공간 사용에 대한 상한이 없습니다.

즉, 대부분의 표준 skiplist 구현은 각 노드의 높이에 약간의 상한선 M을 배치합니다. 일반적으로 M이 log n보다 커지도록 선택됩니다. 이 경우 최악의 공간 사용은 Θ (Mn)입니다. 모든 모드가 모든 M 레벨을 사용하는 경우 발생합니다.

희망이 있습니다.

+0

감사합니다. –