BST 인쇄와 관련된 질문이 있습니다. 다른 트리 인쇄 알고리즘을 사용하여 옆으로 트리를 인쇄 할 수 있습니다. 그러나 나는 항상 트리를 왼쪽에서 오른쪽으로 인쇄합니다. 나무를 거꾸로 인쇄하는 방법이 있습니까? XY 사용에 대한 몇 가지 아이디어를 보았지만 콘솔에서 그렇게하고 싶지 않습니다. 그래서 같은 것을 달성하기위한 다른 방법이 있습니까? 편집 : 예
각 노드의 가중치를 사용하여 이진 검색 트리 (int를 사용하지만 범용 설계됨)의 균형을 유지하는 재귀 적 Java 메소드를 빌드하고 있습니다. 내 목적을 위해, 노드의 무게가 균형의 끝에서 + 1. 2
/ \
1 3
The weight of the root is 3, and the weight of both leaves is 1.
아이의 수로
목록 및 기능을 사용하고 BST를 만드는 기능 표준 ml을 만들고 싶습니다. 'a list -> ('a * 'a -> bool) -> 'a tree,하지만 난 그것을 몇 가지 문제가 있어요, 여기에 내가 쓴 코드입니다 : : 함수의 유형입니다 datatype 'data tree =
EMPTY
| NODE of 'data tree * 'data *
저는 제네릭이 포함 된 프로젝트를 진행하고 있습니다. public interface Keyable <T> {public String getKey();}
public interface DataElement extends Comparable<Keyable<DataElement>>, Keyable<DataElement>, Serializable {...}
정말 붙어있어, "CTree.add (num);"에서 오류가 발생했습니다. 'CTree'는 선언되지 않았다. tree.h에서 초기화했기 때문에 의미가 없다. 프로그램이 사용자에게 프롬프트를 표시하고 사용자가 명령을 입력하면 (예 : "add 3", 0-9 정수) 그 번호를 트리에 삽입하려고합니다. //File: tree.h
class CTree
{
바이너리 검색 트리에 삽입하려고하면 프로그램에서 세그먼트 화 오류가 발생합니다. 여기 노드의 선언입니다 : 아래 template < class T > class binTreeNode {
friend class binTree <T>;
friend class binSTree <T>;
public:
// default constructor
AVL을 구현하려고합니다. 여기 내 삽입, balance_tree, check_bf (균형 요인), 그리고 하나의 왼쪽 순서대로 기능을 회전 : 1 <----t
\
2
\
3
에서 : 나는 하나의 왼쪽 회전을 필요로하는 작은 나무와 그것을 밖으로 시도 BinaryNode *BinarySearchTree::insert(int
각 노드에 3 개의 데이터가 포함 된 이진 트리 함수가 있습니다. 그들은 ID 번호로 분류됩니다. def findName(tree,name):
if tree==None:
return None
elif tree['name']==name:
return True
else:
findName(tree['ri
파이썬에서 각 노드에 3 개의 데이터가있는 BST가 있습니다. 데이터의 ID, 마크, 이름입니다. 내가하려는 것은 이름을 검색하는 것입니다. 그러나 노드는 ID를 기반으로합니다. 이것은 검색 한 방법입니다. 이 함수는 특정 Name의 ID를 출력합니다. def findName(tree,name):
if tree==None:
return
이 메인 클래스입니다 : import javax.swing.*;
class BinarySearchTree {
private Node root;
public void main()
{
int Value = 0;
while(Value!= -1)
{
Value = Integer.parseInt(JOptionPane.s