binomial-heap

    0

    1답변

    나는 다음과 같은 정의와 클래스가 , class BinomialNode { public int key; // The key value public int x_point; // x co-ordinate for drawing public int y_point; // y co-ordinate for drawing

    1

    1답변

    의 키를 구현합니다. 우리는 최소 노드를 가리키는 포인터 만 알고 있지만 어떻게 임의의 노드의 키를 줄일 수 있습니까? 이 경우 우선,이 노드를 찾아서 O (lgN) 시간으로 스와핑을 수행해야합니다. 온라인으로 검색하고 노드를 줄이는 방법에 대해 많은 사람들이 지적하지만 줄이기 위해이 노드에 액세스하는 방법은 언급하지 않습니다. 편집 : 나는 힙의 각 노드

    0

    4답변

    아시다시피 두 힙을 병합하는 데 사용되는 이진 힙 또는 병합 가능한 힙이 있습니다. 내 질문은 이러한 힙을 동적으로 하나의 힙으로 병합하는 대신,이 두 힙을 하나의 큰 배열로 복사 한 다음 힙 빌드 프로 시저를 수행하면 좋은 접근 방법이 될 수 있는지 여부입니다. 그냥 힙 작업을 사용하여 두 개의 힙을 사용하여 한 힙을 만드는 방법을 모르겠다. 좋은 방법이

    2

    1답변

    이 문장에 대한 좋은 증거를 찾는 데 문제가 있습니다. 바이너리 트리의 수를 결정하는 방법은 n의 이진 표현을 사용하여 결정됩니다. 예를 들어, 13 개의 요소는 이진수가 1101이고 2^{3} + 2^{2} + 2^{0}이므로 이항 나무가 필요하며 ln (13) +1 = 3.56> 3 나는 log (n)에 의해 그 경계를 증명하는 방법을 모른다. 일반적으

    0

    1답변

    우리는 2016 개의 노드로 구성된 이항 힙을 가지고 있습니다. 우리가가 11111100000 힙 노드 512 256 128 64 32 16 하지만 어떻게 우리가 일정 수준에있는 노드의 수를 계산할 수와 6 strees 구성 얻을 바이너리로 Decompositing? 수를 계산하기위한 공식은 무엇이며 어떤 노드가 예를 들어 3 단계입니까? 이 문제가 궁

    1

    1답변

    내 목표는 이항 힙을 생성하는 것입니다. 여기에 내가 지금 쓴 내 코드입니다 : #include<iostream> using namespace std; void maxheapify(int a[],int length,int i) { int left=2*i; int right=2*i+1; int largest=i; if