📄 node.java
字号:
/** * This class holds the information regarding a node from the heap/complete * binary tree. * @see Heap */public class Node { String label; int weight; Node leftNode, rightNode; /** * The coordinates of the top-left corner of the node */ public int x, y; int depth = -1; /** * Attribute to indicate if the left branch is to be highlighted. */ public boolean highlightLeft = false; /** * Attribute to indicate if the right branch is to be highlighted. */ public boolean highlightRight = false; /** * Attribute to indicate if the node is to be highlighted. */ public boolean highlight = false; /** * Create a node with the left and right child nodes specified and * the weight of the current node is the sum of the child node. * @param node1 The left node of this newly created node. * @param node2 The right node of this newly created node. */ public Node(Node node1, Node node2) { leftNode = node1; rightNode = node2; weight = node1.getWeight() + node2.getWeight(); label = new String(); } /** * Create a node with the left node as set and weight of the current node * set to 0. * @param node The left node of the newly created node. */ public Node(Node node) { leftNode = node; rightNode = null; weight = 0; label = new String(); } /** * Create a new left node with weight 0. */ public Node() { label = new String(); weight = 0; leftNode = rightNode = null; } // Constructor 1 /** * Create a new leaf node with label and weight as specified in the * parameters. * @param label The label of the new node. * @param weight The weight of the new node. */ public Node(String label, int weight) { this.label = new String(label); this.weight = weight; leftNode = rightNode = null; } // Constructor 2 /** * Create a new leaf node with the specified weight. * @param weight The weight of the new node. */ public Node(int weight) { this.label = new String(); this.weight = weight; leftNode = rightNode = null; } // Constructor 3 /** * Create a new leaf node with 0 weight and label as specified. * @param label Label of the new node. */ public Node(String label) { this.label = new String(label); this.weight = 0; leftNode = rightNode = null; } // Constructor 4 /** * Set the weight of this node. * @param weight The weight to be assigned to this node. */ public void setWeight(int weight) { this.weight = weight; } /** * Set the label of this node. * @param label The label to be assigned to this node. */ public void setLabel(String label) { this.label = new String(label); } /** * Get the weight of this node. * @return Weight of this node. */ public int getWeight() { return weight; } /** * Get the label of this node. * @return Label of this node. */ public String getLabel() { return new String(label); } /** * Link the left branch of this node to the node passed in as the parameter. * @param node The new left child of this node. */ public void setLeftNode(Node node) { leftNode = node; } /** * Link the right branch of this node to * the node passed in as the parameter. * @param node The new right child of this node. * */ public void setRightNode(Node node) { rightNode = node; } /** * Get the left child of this node. * @return the left child this this node. */ public Node getLeftNode() { return leftNode; } /** * Get the right child of this node. * @return the right child this this node. * */ public Node getRightNode() { return rightNode; } /** * Check if this node is a leaf node. A leaf node has both left and right * nodes null. * @return true if the node is a leaf node; false otherwise. */ public boolean isLeaf() { return ((rightNode==null)&&(leftNode==null)); }} // class Node
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -