From bbae8547ec4e2e164ba5aeddc1d41af9a6a5f473 Mon Sep 17 00:00:00 2001 From: LSM <1185424014@qq.com> Date: Fri, 8 Jan 2021 23:30:45 +0800 Subject: [PATCH] dsad --- "tree \344\275\234\344\270\232.txt" | 109 ++++++++++++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 "tree \344\275\234\344\270\232.txt" diff --git "a/tree \344\275\234\344\270\232.txt" "b/tree \344\275\234\344\270\232.txt" new file mode 100644 index 0000000..f1e91d5 --- /dev/null +++ "b/tree \344\275\234\344\270\232.txt" @@ -0,0 +1,109 @@ +插入: +public TreeNode createTree(int data){ + TreeNode newNode = new TreeNode(data); + if(root == null){ + root = newNode; + return root; + } + + TreeNode current = root; + TreeNode p = null; + while(current != null){ + p = current; + if(current.val > data){ + current = current.left; + if(current == null){ + p.left = newNode; + return root; + } + } + else + { + current = current.right; + if(current == null){ + p.right = newNode; + return root; + } + } + } + return root; + } +删除: + public void delete(int data){ + TreeNode p = root; + TreeNode pp = null; + + while(p.val != data && p != null){ + pp = p; + if(p.val > data) p = p.left; + else p = p.right; + } + + if(p == null) return; + + + if(p.left != null && p.right != null){ + TreeNode minp = p.right; + TreeNode minpp = p; + while(minp.left != null){ + minpp = minp; + minp = minp.left; + } + p.val = minp.val; + p = minp; + pp = minpp; + } + + TreeNode child ; + if(p.left != null) child = p.left; + else if(p.right != null) child = p.right; + else child = null; + + if(pp == null) root = child; + else if(pp.left == p) pp.left = child; + else pp.right = child; + } + +查找: + public void findInTree(int data){ + if(root == null)return; + TreeNode p = root; + while(p != null){ + if(p.val == data){ + System.out.println("找到了!"); + return; + } + else if(p.val > data){ + p = p.left; + } + else{ + p = p.right; + } + } + } +前序遍历 + public void preOrder(TreeNode root){ + if(root != null){ + System.out.print(root.val + " "); + preOrder(root.left); + preOrder(root.right); + } + } + + 中序遍历 + public void midOrder(TreeNode root){ + if(root != null){ + midOrder(root.left); + System.out.print(root.val + " "); + midOrder(root.right); + } + } + + 后序遍历 + public void lastOrder(TreeNode root){ + if(root != null){ + lastOrder(root.left); + lastOrder(root.right); + System.out.print(root.val + " "); + } + } -- Gitee