树、二叉树、二叉搜索树
什么是树
例子中使用Java语言和lombok来自动实现构造函数
先了解什么是链表,链表是一个每一项都指向前一个节点或后一个节点的数组
graph TD
59(59)-->26(26)
26(26)-->13(13)
13(13)-->5(5)
public class LinkList {
@Setter
@Getter
private String val;
@Setter
@Getter
private LinkList pre;
public LinkList(String val, LinkList pre) {
this.val = val;
this.pre = pre;
}
}
树是在链表的基本上再加一个或多个节点,为了简便,把上面链表的pre修改成left,再加了一个right节点,下面是一个有序的
graph TD
59(59)-->26(26)
59(59)-->75(75)
26(26)-->13(13)
26(26)-->39(39)
13(13)-->5(5)
39(39)-->42(42)
39(39)-->47(47)
75(75)-->63(63)
75(75)-->82(82)
82(82)-->100(100)
public class TreeNode {
@Setter
@Getter
private String val;
@Setter
@Getter
private TreeNode left;
@Setter
@Getter
private TreeNode right;
public TreeNode(String val, TreeNode left, TreeNode right) {
this.val = val;
this.left = left;
this.right = right;
}
}
树其实就是链表的升级版