Compare commits
8 Commits
Author | SHA1 | Date |
---|---|---|
wangmeihang | 7c39b3a842 | |
wangmeihang | cad8fef7a2 | |
wangmeihang | 1472c23131 | |
hang | 9717c462d8 | |
wangmeihang | 4b8b1379fd | |
wangmeihang | 6bc49297c4 | |
wangmeihang | 854928805d | |
hang | f56314f78e |
|
@ -0,0 +1 @@
|
||||||
|
简单的介绍
|
|
@ -0,0 +1,10 @@
|
||||||
|
|
||||||
|
|
||||||
|
public class App {
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
|
||||||
|
System.out.println("hello,world");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
APP文件的内容
|
|
@ -0,0 +1,14 @@
|
||||||
|
package tree;
|
||||||
|
|
||||||
|
public class AVLtree {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class AVL{
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
二叉树的构造
|
|
@ -0,0 +1,147 @@
|
||||||
|
package tree;
|
||||||
|
|
||||||
|
|
||||||
|
public class binarySortTree {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
int[] arr = {2,5,6,7,1,9,35,21};
|
||||||
|
BinarySortTree binarySortTree = new BinarySortTree();
|
||||||
|
for ( int i = 0; i < arr.length; i++) {
|
||||||
|
binarySortTree.add(new Node(arr[i]));
|
||||||
|
}
|
||||||
|
System.out.println("infixOrder :\n");
|
||||||
|
binarySortTree.infixOrder();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
class BinarySortTree{
|
||||||
|
|
||||||
|
private Node root;
|
||||||
|
public void add(Node node){
|
||||||
|
if(root == null){
|
||||||
|
root = node;
|
||||||
|
}else{
|
||||||
|
root.add(node);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public void infixOrder(){
|
||||||
|
if(root != null){
|
||||||
|
root.fixOrder();
|
||||||
|
}else{
|
||||||
|
System.out.println("this binary tree is empty");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public Node search(int value){
|
||||||
|
if(root == null){
|
||||||
|
return null;
|
||||||
|
}else{
|
||||||
|
return root.searchNode(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public Node searchParent(int value){
|
||||||
|
if(root == null){
|
||||||
|
return null;
|
||||||
|
}else{
|
||||||
|
return root.searchParent(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void del(int value){
|
||||||
|
if(root==null){
|
||||||
|
return;
|
||||||
|
}else{
|
||||||
|
|
||||||
|
Node targetNode = search(value);
|
||||||
|
if(targetNode == null){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(root.left == null && root.right == null){
|
||||||
|
root = null;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Node parent = searchParent(value);
|
||||||
|
if(targetNode.left != null && targetNode.right != null){
|
||||||
|
if(parent.left != null && parent.left.value == value ){
|
||||||
|
parent.left = null;
|
||||||
|
}else if(parent.right != null && parent.right.value == value){
|
||||||
|
parent.right = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Node{
|
||||||
|
int value;
|
||||||
|
Node left;
|
||||||
|
Node right;
|
||||||
|
|
||||||
|
public Node(int value){
|
||||||
|
this.value = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "Node [value=" + value + "]";
|
||||||
|
}
|
||||||
|
|
||||||
|
public Node searchNode(int value){
|
||||||
|
if(value == this.value){
|
||||||
|
return this;
|
||||||
|
}else if(value < this.value){
|
||||||
|
if(this.left == null){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return this.left.searchNode(value);
|
||||||
|
}else{
|
||||||
|
if(this.left == null){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return this.left.searchNode(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public Node searchParent(int value){
|
||||||
|
if((this.left != null && this.left.value == value)||(this.right != null && this.right.value == value)){
|
||||||
|
return this;
|
||||||
|
}else{
|
||||||
|
if(value < this.value && this.left != null){
|
||||||
|
return this.left.searchParent(value);
|
||||||
|
}else if(value >= this.value && this.right != null){
|
||||||
|
return this.right.searchParent(value);
|
||||||
|
}else{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public void add(Node node){
|
||||||
|
if(node == null){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(node.value < this.value){
|
||||||
|
if(this.left == null){
|
||||||
|
this.left = node;
|
||||||
|
}else{
|
||||||
|
this.left.add(node);
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
if(node.value > this.value){
|
||||||
|
if(this.right == null){
|
||||||
|
this.right = node;
|
||||||
|
}else{
|
||||||
|
this.right.add(node);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//fix order
|
||||||
|
public void fixOrder(){
|
||||||
|
if(this.left != null){
|
||||||
|
this.left.fixOrder();
|
||||||
|
}
|
||||||
|
System.out.println(this);
|
||||||
|
if(this.right != null){
|
||||||
|
this.right.fixOrder();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
dfsdfsdfsdaffdsf
|
||||||
|
|
||||||
|
fafdsfsfdaf
|
||||||
|
asdf
|
||||||
|
asdfsadf
|
||||||
|
dfsdfsdfsdaffdsfasdf
|
Loading…
Reference in New Issue