오늘 약 function pointer(binary tree)에 대한 숙제를 받았습니다. 내가 이해할 수없는 코드의 덩어리가있다 ... 나는 function pointer이 무엇인지 이해하고 작동 방법하지만 function pointers 2에 대해 header.h가 (1 parameter에) typedef struct _node_ {
int key;
왼쪽 또는 오른쪽에있는 이진 트리에 값을 저장하는 방법을 아는 사람이 있습니까? 예를 들어 우리는이 구조체가 : struct A
{
int a;
struct A *left;
struct A *right;
}
struct B
{
A *root;
}
을 우리는 기능을 가지고 : void insert(B *tre
class TreeNode {
TreeNode parent;
TreeNode left;
TreeNode right;
// other data fields omitted - not relevant
}
두 개의 노드 p 및 q이 주어 졌으므로 가장 낮은 공통 조상을 어떻게 찾을 수 있습니까? (둘 다 매우 큰 나무에
내가 fct 이진 트리 헤더를 삭제하고, 그것을 일했다! 하지만 난 아무런 노력도하지 않았고, 나는 디버거에 의존했다. 간단한 포인터, 이중 포인터 및 값 사이의 관계를 설명 할 수 있습니까? Tree **P2,*P1,P; //(P consider it for explanation only)
P1=&P2;
//what type are these
(*
저는 R에 제약이되는 간단한 문제가 있습니다. 실제로 터미널 말단에만 관련 값이있는 이진 트리가 있습니다. 장난감 예제가 표시됩니다. here. 본질적으로 잎 사이에서 최대 깊이의 작업을 수행합니다 (깊이가 같은 순서는 중요하지 않음). 나는 그것을 여기에 추가했다. 그러나 실제로, 그들은 더 복잡한 공식에 꽂혀있다. 내 코드는 R로 제한됩니다. 이 구조는
트리의 자식 수를 셀 수있는 LinkedBinaryTree 클래스의 메서드로 작업하고 있습니다. 내 코드는 아래에 있지만 드라이버에서 실행할 때 무한 루프가 발생합니다. public int children(BinaryTreeNode<T> node) {
int children = 0;
if(node.getLeft() != null){