최근 인터뷰 질문이었습니다. 이 질문은 [x, y] 범위에 포함 된 BST의 가장 큰 하위 트리의 크기가 x < y임을 확인했습니다. BST는 각 노드가 정수 값, 왼쪽 하위 노드 W 오른쪽 하위 노드를 갖는 재귀 적으로 정의됩니다. 나는 그 범위 내에 놓여 있지만 가장 큰 하위 트리를 찾을 수 없었던 트리의 총 노드 수만 가능했습니다. N 트리의 노드 수
BST의 모든 노드를 방문하여 가장 큰 int 값을 찾기위한 알고리즘을 찾으려고하면 BST는 불균형이고 사전 순으로 정렬되지만 int 값이 있습니다. 트리에서 가장 큰 int 값을 찾아야합니다. 내 코드는 다음과 같습니다 private Object Mode(BinaryTreeNode root) {
if (root == null) {
re
재귀를 사용하여 문자열 키로 BST에서 노드를 찾는 함수가 있습니다. 두 번째 함수에 대한 경고가 나타납니다. c4715 "모든 제어 경로가 값을 반환하지는 않습니다". 나는 여기 내 기능입니다 .. 정확하게 경로가 값을 반환하지 않는 것을 이해할 수 없다 : TreeNode* Tree::findNodeByKey(const string &str) {
선생님이 클래스 웹 사이트에 다음 코드를 게시했습니다. 나는 그 일을 이해하지 못한다. 누군가가 정교 할 수 있다면, 좋을 것입니다. 한 가지 더, 왜 그녀는 쌍을 반환 값으로 사용합니까, bool만으로는 충분하지 않습니까? 이 여기에 코드입니다 :이 template <class T>
std::pair<BST<T>::iterator, bool> BST<
내 할당을 위해 처음부터 이진 검색 트리에 대한 재귀 복사 방법을 만들어야합니다. 메서드는 지정된 BinarySearchTree 객체의 각 항목을 호출하는 BinarySearchTree 객체에 복사해야합니다. 유일한 문제는 메서드가 void이어야하며이 주제에서 찾은 모든 것이 다른 반환 유형을 사용하여이를 수행하는 것으로 보입니다. 나는 이런 식으로 시작하
배열의 숫자 목록을 거쳐 이진 검색 트리에 삽입하는 작은 프로그램을 작성하려고합니다. 여기에 내가 가진 무엇 : #include <stdio.h>
#include <stdlib.h>
typedef struct node_t node_t;
struct node_t {
int data;
node_t *left;
node_t *
이진 트리를 한 줄로보기보다 읽기 쉬운 방식으로 인쇄하려고합니다. 나는 시작으로 this question에 대한 답변을 사용하지만, 이런 식으로 왼쪽에서 오른쪽으로 그 데이터를 인쇄 : 나는 다음과 같이 할 필요가 25
15
10
20
30
35
: 25
15 30
10 20 35
이
필자는 주어진 코드를 편집하여 이미 존재하는 바이너리 트리에 요소를 허용하지 않는 방법을 찾아 내려고 노력했습니다. 내 암시는 테스터 외부의 두 가지 클래스를 수정하여 수행하는 것이 었습니다. public void addNode(Node <T> newNode){
Comparable<T> tempElement = (Comparable<T>) new
나는 n 개체 모음을 가지고 있습니다. 각 개체에는 2 개의 숫자 속성 A 및 B이 있습니다. 나는 A과 B의 주문은 인 경우에만 obj1.A > obj2.A 인 경우에만 관련이 있다는 것을 알고 있습니다. 내가 A으로 분류 세트로 컬렉션을 구현하는 경우, 나는 다음과 같은 작업 O(log n)에 지원할 수 있습니다 삽입 삭제 LOWER_BOUND A에 그