이 질문은 아래 링크의 질문입니다.가중치 난수 V2 (동적 경우)
질문은 각 요소의 가중치는 동적 자주 변경된다는 추가 조건 가중 난수를 샘플링한다.
EDIT 다른 가중치로 선택할 N 개의 요소가 있다고 가정합니다.
정적 가중치의 경우 Walker의 별칭 방법은 별칭을 설정하는 데 O (N) 시간이 필요하지만 샘플링 비용은 O (1)이므로 내 목표를 달성하는 것이 가장 좋습니다.
이진 검색 방법
누적 어레이를 만들기 위해 또한 O (N)을 필요로 샘플링 선정 로그이다 (N) 내 경우 그러나, 가중치는 자주 변경되기 때문에, 수정 가중치 시간 복잡도도 중대한.
그래서 데이터 구조를 수정하고 O (N) 미만으로 샘플링하는 시간 복잡성을 가진 기존 라이브러리 또는 알고리즘이 있는지 알고 싶습니다.
편집 제가 의견을 읽는 동안 추가 조건을 부과해야한다는 것을 알고 있습니다. 각 수정 단계는 소수의 숫자 (대부분 두 개) 만 수정되며이 수정은 총 무게 합 (정규화 조건)을 변경하지 않습니다.
해결 방법이 있다면 가중치가 실수 일 때도 사용할 수 있는지 알고 싶습니다.
N은 무엇입니까? –
N은 요소의 수/링크에서 N = 3 {1, 2, 3} – Sungmin
알았어. 아마도 전체적인 복잡성은 가중치를 수정해야하는 빈도에 달려 있습니다. 매 반복마다이 작업을 수행해야한다고 말하고 있습니까? –