avl-tree

    0

    2답변

    나는 classm I에 대한 오래된 기본 알고리즘을 다시 방문하여 christmass를 지켜 볼 것입니다. AVL에 도달 할 때까지는 일반적으로 가벼운 읽기였습니다. 내가 그들을 배울 때 뒤로, 나는 어떤 문제도 기억하지 못한다. 그러나 10 년이 조금 지나면, 나는 더 이상 좋지 않다. 트리, (46)의 왼쪽 아이로 (40)를 삽입 51 /\

    1

    2답변

    내 AVL 트리를 완전히 삭제하는 데 문제가 있습니다. 단일 노드를 삭제하는 방법을 알아 냈습니다. 그러나 내 destroyTree 함수는 실제로 모든 노드를 재귀 적으로 삭제하지는 않습니다. 나는 무엇을 잘못 할 수 있 었는가? 나는 구조체를 nodeType<myType> template <class myType> struct nodeType {

    -4

    1답변

    안녕하세요. 질문이 있습니다. 모든 노드를 잡는 법, 그 밑에있는 잎의 수? 그리고 그것을 효율적으로 업데이트하는 방법 (삽입 및 제거 중). 나는 그것을 이해할 수 없다. 도움을 청하기. 관련 코드는 다음과 같습니다. #include <stdio.h> #include <stdlib.h> #include <iostream> #include <strin

    0

    1답변

    문자열을 키로 사용하여 avl 트리를 작업하고 있습니다. print 문은 삽입이 일어나고 있음을 나타내지 만 테스트 기능에서는 루트의 왼쪽과 오른쪽 노드가 null로 남아 있다고보고합니다. #include "AVLAdt.h" void printVal(node * toPrint){ printf("\n node value: %s\n", toPrin

    0

    1답변

    그래서 AVL 트리가 표시됩니다. 그리고 적어도 두 개의 값 k1과 k2 사이의 모든 키 중에서 최소 데이터 값을 갖는 키를 찾기위한 의사 코드를 찾으려고합니다. 이것은 각 노드에 저장된 필드 데이터가 정수라고 가정합니다. 내 의사 코드가 O (logn) 시간에 실행되는지 확인하려고합니다. 노드 구조에 여분의 필드를 저장하여이를 수행 할 수 있음을 알고 업

    3

    2답변

    차이점을 좀 더 잘 이해하고 싶지만 내 수준까지 분류 할 수있는 출처를 찾지 못했습니다. 두 나무가 삽입 당 최대 2 회전을 필요로한다는 것을 알고 있습니다. 그럼 붉은 검정 나무에 삽입하는 것이 더 빠릅니까? 그리고 삽입은 어떻게 red-black의 O (1) 동안 avl 트리에서 O (log n) 회전을 필요로합니까?

    1

    1답변

    작은 질문이 있습니다. AVL 트리가 있고이를 새 인스턴스에 1 : 1로 복사하려고합니다. 내가하는 일은 AVLTreeClass의 새 인스턴스를 만들고 등호 (C++ 11에서)로 복사 할 트리를 할당하는 것입니다. 시간 복잡성에 대해 걱정해야합니까? 아니면 O (1)에서 실행됩니까? 도움 주셔서 감사합니다. FunkyPeanut

    5

    1답변

    std::vector과 같이 색인이 생성되지만 빠른 삽입, 삭제 및 색인 생성을하는 C++ 컨테이너 클래스를 찾고 있습니다. 예를 들어 기본 균형 트리로 구현 된 vector 인터페이스에는 O (logN) 삽입/삭제와 O (logN) 인덱싱도 포함됩니다. 명확하게 : 나는 찾고 있지 않다. std::map<int, T>. 인덱스 N에 요소를 삽입하면 배열의

    0

    1답변

    이진 검색 트리 (BST) 및 AVL 트리에 대한 공통 노드 구조를 정의하려고합니다. 이를 위해 CommonNode.h 파일에서 다음 구조를 정의했습니다. 다른 파일 BST.h에서 struct CommonNode{ int data; struct CommonNode *left, *right; }; typedef struct CommonNode node

    0

    1답변

    로그 n 검색을 위해 AVL 트리에 연결해야하는 회사의 트리를 구현했습니다. node* searchNode(string S, node* root) //(S,root) { if (root->Name == S) { if (root->present == 1) { cout<<"root found"<<endl;