disjoint-sets

    2

    1답변

    나는 유용한 데이터 구조가 C++ Standard Library에 포함될 것으로 기대했지만, 찾을 수없는 것 같습니다.

    1

    1답변

    나는 노동 조합 발견 문제에 대해 읽었습니다. 두 가지 주요 개선점은 경로 압축과 순위 별 조합입니다. 늘어나는만큼 나무를 결합하는 방법을 결정하는 데는 계급 별 조합을 이해합니다. 두 개의 분리 된 트리 T1과 T2가있는 경우 더 높은 순위의 트리에 작은 순위의 트리 루트를 연결합니다. 경로 압축을 사용하지 않으면 순위는 트리의 깊이에 불과합니다. 이는

    1

    1답변

    그래프 노드를 다음 조건을 만족하는 두 개 이상의 분리 된 집합으로 나누는 알고리즘이나 코드가 있습니까 : 처음으로 제거 할 수있는 가장자리 만. 두 번째, 에지는 가중치가 적용되고 제거되는 에지는 최소 가중치 (최소 컷 알고리즘)를 가져야합니다. 셋째, 원하는 분리 세트는 가능한 한 동일한 크기를 갖는다.

    -1

    1답변

    Kruskal의 MST 알고리즘과 함께 사용하기 위해 분리 집합 데이터 구조를 만들었습니다. 200k 상호 연결 노드를 사용하여 그래프를로드하고 결합해야하며 데이터 구조 구현이 병목 현상이라고 생각합니다. 성능을 향상시키는 방법에 대한 제안 사항이 있으십니까? 내 방법이 문제가 될 수 있다고 생각합니다. class partition(object):

    0

    1답변

    전은 data structure이고 후자는 mathematical structure입니다. 그러나 구현되면 동일한 기능과 동작을 많이 공유하는 것처럼 보입니다. 분리 세트의 각 요소는 그래프의 정점으로 간주 될 수 있습니다. 그래프에서 모서리가 Union-Find의 집합을 나타냅니다. 이 두 요소/정점이 을 연결되어 : http://algs4.cs.prin

    1

    1답변

    찾기 경로를 계산하는 가장 간단한 방법은 무엇입니까? 루프 핀란드어 방법 동안 def paths(G, s, t): # Edge-disjoint path coun H, M, count = tr(G), set(), 0 # Transpose, matching, result while True: # Until the

    2

    1답변

    온라인 컨테스트에서이 문제가 발생했으며 분리형 데이터 구조를 사용하여이 문제를 해결하려고합니다. 문제 정의 : 밥은 자신의 수학 여행 동안 원자력 발전소를 방문. 그는 식물 안에 핵폭탄이 없다고보고 핵폭탄의 초기 효율은 1입니다. 일정 기간이 지나면 핵 봉이 서로 융합하여 결합하여 한 그룹을 형성합니다. 이 과정은 핵폭탄의 효율을 그룹 크기의 제곱근으로 줄

    1

    1답변

    나는 boost::disjoint_sets_with_storage을 이해하려고 노력하지만 가능한 가장 단순한 예제조차도 작동하지 않으며 그 이유를 이해할 수 없습니다. #include <boost/pending/disjoint_sets.hpp> int main(){ boost::disjoint_sets_with_storage<> union_fi

    -1

    1답변

    불균형 매칭 패턴에 대해 질문이 있습니다. 일치하는 패턴은 각 사례가 다른 사례를 밟지 않을 때 분리됩니다. def func(list: List[Int]): Int = list match { case Nil => 0 case x::t if (x < func(t)) => x case x::t => func(t) } 내 질문 :

    0

    1답변

    연결되지 않은 모든 그래프를 찾으려면 어떤 방법을 사용해야합니까? BFS와 같이 DFS 순회 모두 탐색 방법이며 여러 순회하여. 연결이 끊어진 모든 구성 요소를 찾을 수 있습니다. 또 다른 접근법은 연결되지 않은 구성 요소를 찾기 위해 kruskal (MST)에서 사용되는과 같은 분리 세트 일 수 있습니다. 당신은 당신이 모든 분리 그래프를 찾을 필요가 있