标签为 [二叉树] 的文章

算法初级——二叉树的前驱结点

/* * 前驱节点,中序遍历的前面的节点 * 如果有左子树,那么就是左子树上最右的节点,如果没有左子树,那么一起向上移动,直到该节点位于右子树, */ 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566public class 二叉树的前驱节点 {         public static class Node {         public int value;         public Node left;         public No ......

算法初级——二叉树的后继节点

在二叉树中找到一个节点的后继节点 【题目】 现在有一种新的二叉树节点类型如下: public class Node { public int value; public Node left; public Node right; public Node parent; public Node(int data) { this.value = data; }} 该结构比普通二叉树节点结构多了一个指向父节点的parent指针。假设有一棵Node类型的节点组成的二叉树,树中每个节点的parent指针都正确地指向 自己的父节点,头节点的parent指向null。只给一个在二叉树中的某个节点 node,请实现返回node的后继节点的函数。在二叉树的中序遍历的序列中, node的 ......

算法初级——直观打印二叉树

如何直观的打印一颗二叉树 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172public class 直观打印二叉树 {     public static class Node {         public int value;         public Node left;         public Node right;         public Node(int data) {             this.value = data;   & ......

算法初级——二叉树的遍历

实现二叉树的先序、中序、后序遍历,包括递归方式和非递归方式 /* * 二叉树的遍历,二叉树每个节点在遍历的过程中访问三次,第一次访问打印为先序遍历,第二次访问打印为中序打印,第三次访问打印为后序打印。 */ 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122import java.util.Stack; public cla ......