List<>을 통해 각 항목에 대해 몇 가지 작업을 수행 한 다음 해당 작업의 결과에 따라 잠재적으로 추가 각 하나는 다른 데이터 구조로, 나는 현재 SortedSet<>을 사용하고 있습니다. 이 후 최상위 정렬 된 n 개 항목을 목록으로 원합니다. 내가 이것을 SortedSet<>에해야만하는 또 다른 일은 모든 것이 명확하고 새롭게 시작됩니다. 이 일에서
의 우리가이 개 클래스로 구성 RedBlack 트리 구현이 있다고 가정하자 Tree은 - 트리의 Node *root에 대한 포인터를 보유하고 트리를 통해 모든 작업을 정의 (Insert, Delete 등) Node - Node *parent, , Node *right 노드 및 std::string key에 대한 포인터를 보유하는 데이터 저장소입니다. 이제
주문 통계 트리에서 노드의 순위는 무엇입니까? 는이 rank = x.left.size + 1
또는이 기능에 의해 주어진 있습니까? 내가 그 트리의 중위 나무 도보 x의 위치해야하기 때문에 그것은 단순히 x.left.size + 1해야한다고 생각하기 때문에 OS-RANK(T, x)
{
r = left.size + 1
y = x
저는 rbtree.h에 정의 된 rb_tree를 사용하는 Linux 커널 프로젝트를 진행하고 있습니다. 나는이 나무의 개체를 검색하기 위해 struct source_store{
sector_t source;
sector_t cache;
struct rb_node * node;
}
다음을 수행 : 컴파일 할 때 struct r
RB 트리 및 힙을 기반으로 정렬 된 집합을 구성하면. 삽입() 및 deleteMax()를 n 번 수행하십시오. (1). Big-O는 무엇입니까? 내 아이디어 : RB 트리와 힙 모두 deleteMax()와 insertion()은 모두 nlog (n)을 취하므로 시간 복잡도는 O (nlog (n) + nlog = O (2nlog (n))? (2). 어떻게
현재 레드 블랙 트리의 간단한 버전을 구현할 과제를하고 있습니다. 나는 현재 Xcode에서 일하고 있는데, 현재 나에게 오류가 발생하고있다. GDB: Program received signal: EXC_BAD_ACCESS ... 나는 메모리 누수라고 가정하고있다. 그러나 나는 왜 이런 일이 일어나고 있는지에 관해 어떤 이유인지는 알 수 없다. 디버거가 내
CLRS 제 2 판 네 번째 인쇄 인 288-9 절에 따라 간격 트리에 대해 빨간색 - 검정 트리 삭제를 구현하고 있습니다. 버그 요약 : RB-삭제-픽스 x 및 w는 RB-삭제의 가능한 결과이다 센티널 노드가있는 경우, 좌측 색 (의 다음 평가 (w)) resp. RB-Delete-Fixup의 색상 (오른쪽 (w))은 while 루프의 첫 번째 반복에서
그래서 나는 다음과 같은 레드 블랙 트리가 있습니다 2 = Root Black
Children = 1 (Black/Left), 4 (Red/Right)
Children of 1 = NIL & NIL => Height of Black Subtree is then 2
Children of 4 = 3 (Black/Left), 5 (Black/Right)
알고리즘을 배우려면 Algorithms princetion robert et al, ebook에있는 참조를 따르십시오. 나는 붉은 검정 나무에서 삭제를 알아낼 수 없으므로 도움이 될 것입니다. 이 책은 삭제 된 내용을 2 ~ 3 개의 나무에서 작성한 내용과 같이 코딩하는 것에 대해 설명합니다. 나는 correlation.thanks이
우리는 힙 모두 레드 - 블랙 트리가 이러한 속성이 있음을 알고 : 검색을위한 최악의 경우 비용이 LGN입니다; 최악의 삽입 비용은 lgN입니다. 빨강 - 검정 나무의 구현과 작동이 어렵 기 때문에 빨강 검정 나무 대신 힙을 사용하는 것이 어떻습니까? 나는 혼란 스럽다.