업데이트 :이 문제는 문자열에 이진 트리를 사용할 때만 나타납니다. int로 느껴지면 모든 것이 잘 작동합니다! 몇 달 전 나는 C++에서 이진 트리 구현을 작성했습니다. 모든 것이 잘 작동하는 것처럼 보였습니다. (insert, remove, traversals, find ...) 나는 내 시험을 통과했습니다. :)하지만 이제는이 2 트리 트리 클래스를
반복 연습 트리 (이진 또는 이진 검색 트리) 복사 기능을 구현하려고합니다. 노드가 필요없이 래퍼 (즉, 복사 및 원래의 노드에 대한 참조를 포함)을 사용하지 않고 하나의 스택 과 : 는 하찮게을 달성 할 수 있다는 것을 나의 이해이다 그 부모에 대한 참조 (노드의 부모 참조는 나무의 실제 정의와 상반되는 것입니까?) 나는 다른 구현자를 작성했습니다. 위의
Red-Black BST Java 구현에 관한 인터넷의 고민입니다. 이 프로그램에서 val 변수에 대해 혼란스러워합니다. 코드는 다음과 같습니다. package tools;
public class redBlack2 {
private static final boolean RED = true;
private static final boole
내가 좋아하는 중첩 된 개체를 사용하여 자바 스크립트에서 간단한 트리 데이터 구조를 통과하는 let result =[];
let allNodes =[];
if isArray(rootNode) {
rootNode.each(x=>{
allNodes.push(x)
});
} else {
allNodes.push(root
정수 값을 이진 검색 트리에 삽입하는 프로그램을 작성했습니다. 그것은 잘 작동하는 것하지만 정수 배열 대신 동일한 문자 배열을 수정할 때 예기치 않은 결과가 발생합니다. struct Node{
char data[50];
struct Node* right;
struct Node* left;
};
typedef struct Node* NODE;
이진 검색 트리에 대한 삽입 함수를 만들려고했습니다. 하지만 처음에는 null 인 전역 변수를 대체 할 수는 없지만 매개 변수를 통해 2 홉 떨어져있는 null이 아닌 전역 변수를 대체 할 수 있습니다. 다음 코드는 문제가 무엇인지 보여줍니다. struct tree{
int a;
tree* right;
tree* left;
};
시작하기 전에 Stack Overflow에 익숙하지 않으므로이 게시물에서 잘못된 형식의 세부 정보를 사과드립니다. 필요한 경우 수정하십시오. 어쨌든 제 질문에 대해서 저는 C#을 처음 접했고, 저는 C++과 상당히 괜찮습니다. 그러나 저는 C#을 배워야합니다. BST에 대한 삽입 기능을 사용하고 있으며 실수를 파악하지 못하는 것 같습니다. 코드를 실행하면
제목에서 설명한 것처럼 왼쪽 및 오른쪽 자식이 모두있는 BST 노드 만 계산하면이 문제를 해결할 수 있습니다. 나는 이것을 해결하기위한 논리를 생각하기 위해 고심하고있다. 나는 이런 식으로 생각했습니다. 먼저 루트가 null인지 또는 null 자식이 있는지 확인하십시오. 다음으로 오른쪽으로가는 나무를 가로 지르며 아이들을 계속 확인하고 조건이 충족되면 카운
현재 재귀를 사용하여 수행중인 찾기 및 제거 기능을 수정하려고합니다. 그러나 케이스 2가 끝나면 케이스 0 또는 케이스 1로 연결되는지 식별하는 방법에 대해 문제가 있습니다. 다음은 내가 수행하려고 시도하는 간단한 설명입니다. 사례 2 (두 자녀) - 오른쪽 하위 트리를 최소로 바꾸면 대소 문자가 구분됩니다. the algorithm에 따르면 bool fi