Java에서 Red Black Tree를 구현하라는 요청을 받았지만이 작업이 어떻게 수행되는지는 분명하지 않습니다. 누군가가 내 노드 클래스에 대해 r/b 트리 구현에 대해 의견을 말하면 정말 좋을 것입니다. 여기 우리가 간다 :Java에서 r/b 트리에 대한 노드 클래스를 만드는 방법에 대한 조언이 필요합니다.
public class RBTnode {
public RBTnode(int key, RBTnode left, RBTnode right) {
/* this is the constructor for a root node */
color = 0;
parent = null;
key = this.key;
left = this.left;
right = this.right;
}
public RBTnode(int key, RBTnode left, RBTnode right, RBTnode parent, int color) {
key = this.key;
color = this.color;
left = this.left;
right = this.right;
parent = this.parent;
}
int color; // 0 black, 1 red
int key;
RBTnode parent;
RBTnode left;
RBTnode right;
}
코드에 대한 설명은 무엇입니까? 작동 되나요? 문제가 있습니까? ... 귀하의 질문은 무엇인가? – Kai
두 개의 생성자를 만드는 것이 좋은 생각인지 궁금합니다. 왜냐하면 우리는 오직 한 개의 루트만을 가지기 때문에 분명히 첫 번째 생성자 만 필요하기 때문입니다. 또한 부모 노드와 자식 노드를 RBT 노드로 할당하는 것이 올바른 방법입니까? 아직 작동하는지 모르겠지만, 내 생각은 RBT 노드 객체를 포함해야하는 arraylist를 만들고, 다른 클래스에 메소드 (삽입, 트래버스 트리 등)를 togehter로 작성하려고합니다. – John
어쩌면'parent = this.parent;'등을 뒤돌아 보겠습니까? :) – zapl