특정 값의 백분율로 범위 내에서 난수를 생성합니다.

유리 F

최단 경로 그래프 순회에서 Dijkstra, Bellman-Ford 및 Floyd의 알고리즘의 성능을 비교하기 위해 큰 (아래에 자세히 참조) 임의 그래프를 만들어야합니다. 인접성을 배열에 저장하고 있습니다. 지금까지 정점 사이에 임의의 가중치를 생성하고 주 대각선을 0으로 채웠습니다. 나는 또한 주 대각선에 대해 대칭을 가지고 있습니다 (그래프가 방향이 없지만 반드시 완전히 연결되어 있지는 않다고 가정하고 있습니다).

임의 값은를 사용하여 생성 된 0-24 ish 범위에 rand() % 25있습니다. 문제는 그래프가 더 희박 해지기를 원한다는 것입니다 (즉, 가장자리가 적음). 범위 내에서 난수를 생성하고 생성 된 숫자의 약 1/3에서 1/2이 특정 값이되도록하는 방법이 있습니까? 무작위 분포는 내가하는 일에 그다지 중요하지 않습니다.

또 다른 질문 : 성능 차이를 확인하기 위해 얼마나 큰 그래프를 테스트해야합니까? 정점 10 개? 100? 1000? 10000000?

피터 O.

C ++는 원하는 것을 달성 하는 discrete_distributionuniform_int_distribution클래스를 제공합니다 . 예는 다음과 같습니다.

#include <random>
#include <iostream>

template<typename rgen>
int custom_random_int(rgen& mt) {
    // Returns 0 at a 1/3 chance, 1 at a 2/3 chance
    std::discrete_distribution<> d({1, 2});
    // Uniform distribution of integers in [0, 24]
    std::uniform_int_distribution<> ud(0, 24);
    if (d(mt) == 0) {
      // Return 0 at 1/3 chance
      return 0;
    } else {
      // Output a random number at 2/3 chance
      return ud(mt);
    }
}

int main() {
    // Fixed seed of 1 for demonstration purposes
    std::seed_seq ss{ 1 };
    std::mt19937 mt(ss);
    for(int i = 0; i < 100; i++) {
           std::cout << custom_random_int(mt) << std::endl;
    }
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Pyspark-열 값의 특정 범위 내에서 난수를 생성하는 방법은 무엇입니까?

분류에서Dev

특정 범위에서 난수 생성

분류에서Dev

Excel에서 고정 합계를 사용하는 특정 범위의 난수

분류에서Dev

루프를 사용하여 정의 된 범위 내에서 난수 생성

분류에서Dev

SQL : 특정 값의 백분율로 표시되는 발생 수

분류에서Dev

파이썬에서 범위의 난수를 생성하지만 특정 숫자로 편향되는 방법은 무엇입니까?

분류에서Dev

특정 범위에 속하는 값의 일일 백분율을 가져옵니다.

분류에서Dev

D의 범위 내에서 난수를 생성하는 방법

분류에서Dev

지정된 범위 내에서 임의의 정수를 생성해야합니다.

분류에서Dev

특정 값을 합한 목록을 사용하여 특정 범위에서 가져온 N 의사 난수 정수 목록 생성

분류에서Dev

값 범위 (백분율)에 범주를 연결하고 정렬 하시겠습니까?

분류에서Dev

특정 범위에서 난수를 생성하려면 어떻게해야합니까?

분류에서Dev

PHP의 문자열을 기반으로 범위에서 고정 난수 생성

분류에서Dev

특정 수량의 0에 의해 중단되지 않는 값> 0의 범위를 찾아서 합합니다.

분류에서Dev

특정 값 내에서 숫자 범위를 어떻게 합산합니까?

분류에서Dev

특정 범위에서 암호화 된 난수 생성

분류에서Dev

특정 이진 범위에서 난수 생성

분류에서Dev

특정 범위로 고유 한 난수를 생성하는 방법

분류에서Dev

WebGL : glDrawElements로 인해 'glDrawElements : 속성 0의 범위를 벗어난 정점에 액세스하려고합니다.'

분류에서Dev

awk의 도움으로 특정 시간 범위 내에서 모든 예외를 얻습니다.

분류에서Dev

Excel에서 데이터를 특정 셀 사이의 그룹으로 선택하고 각 셀을 그룹 값으로 나누어 백분율을 찾습니다.

분류에서Dev

여러 범위 내에서 중복 값의 백분율 계산

분류에서Dev

IE에서 "상단"을 백분율 값으로 설정하면 테이블 셀 내부의 절대 위치 요소에 대해 작동하지 않습니다.

분류에서Dev

XPage SSJS는 범위 내에서 임의의 숫자를 생성합니다.

분류에서Dev

범위 내에서 'n'개의 고유 한 난수 생성

분류에서Dev

특정 열 값을 기준으로 범위를 새 통합 문서의 여러 탭에 복사

분류에서Dev

벡터에서 특정 범위의 난수 선택

분류에서Dev

최소 및 최대 범위에서 5 개의 고유 한 난수를 생성하고 Groovy에서 오름차순으로 정렬

분류에서Dev

numpy 2d 배열에서 특정 범위를 선택하여 값을 플로팅합니다.

Related 관련 기사

  1. 1

    Pyspark-열 값의 특정 범위 내에서 난수를 생성하는 방법은 무엇입니까?

  2. 2

    특정 범위에서 난수 생성

  3. 3

    Excel에서 고정 합계를 사용하는 특정 범위의 난수

  4. 4

    루프를 사용하여 정의 된 범위 내에서 난수 생성

  5. 5

    SQL : 특정 값의 백분율로 표시되는 발생 수

  6. 6

    파이썬에서 범위의 난수를 생성하지만 특정 숫자로 편향되는 방법은 무엇입니까?

  7. 7

    특정 범위에 속하는 값의 일일 백분율을 가져옵니다.

  8. 8

    D의 범위 내에서 난수를 생성하는 방법

  9. 9

    지정된 범위 내에서 임의의 정수를 생성해야합니다.

  10. 10

    특정 값을 합한 목록을 사용하여 특정 범위에서 가져온 N 의사 난수 정수 목록 생성

  11. 11

    값 범위 (백분율)에 범주를 연결하고 정렬 하시겠습니까?

  12. 12

    특정 범위에서 난수를 생성하려면 어떻게해야합니까?

  13. 13

    PHP의 문자열을 기반으로 범위에서 고정 난수 생성

  14. 14

    특정 수량의 0에 의해 중단되지 않는 값> 0의 범위를 찾아서 합합니다.

  15. 15

    특정 값 내에서 숫자 범위를 어떻게 합산합니까?

  16. 16

    특정 범위에서 암호화 된 난수 생성

  17. 17

    특정 이진 범위에서 난수 생성

  18. 18

    특정 범위로 고유 한 난수를 생성하는 방법

  19. 19

    WebGL : glDrawElements로 인해 'glDrawElements : 속성 0의 범위를 벗어난 정점에 액세스하려고합니다.'

  20. 20

    awk의 도움으로 특정 시간 범위 내에서 모든 예외를 얻습니다.

  21. 21

    Excel에서 데이터를 특정 셀 사이의 그룹으로 선택하고 각 셀을 그룹 값으로 나누어 백분율을 찾습니다.

  22. 22

    여러 범위 내에서 중복 값의 백분율 계산

  23. 23

    IE에서 "상단"을 백분율 값으로 설정하면 테이블 셀 내부의 절대 위치 요소에 대해 작동하지 않습니다.

  24. 24

    XPage SSJS는 범위 내에서 임의의 숫자를 생성합니다.

  25. 25

    범위 내에서 'n'개의 고유 한 난수 생성

  26. 26

    특정 열 값을 기준으로 범위를 새 통합 문서의 여러 탭에 복사

  27. 27

    벡터에서 특정 범위의 난수 선택

  28. 28

    최소 및 최대 범위에서 5 개의 고유 한 난수를 생성하고 Groovy에서 오름차순으로 정렬

  29. 29

    numpy 2d 배열에서 특정 범위를 선택하여 값을 플로팅합니다.

뜨겁다태그

보관