Compare commits
No commits in common. "master" and "v1.3.1" have entirely different histories.
|
@ -1 +0,0 @@
|
||||||
简单的介绍
|
|
|
@ -1,10 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
public class App {
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
|
||||||
|
|
||||||
System.out.println("hello,world");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
APP文件的内容
|
|
|
@ -1,14 +0,0 @@
|
||||||
package tree;
|
|
||||||
|
|
||||||
public class AVLtree {
|
|
||||||
public static void main(String[] args) {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
class AVL{
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
二叉树的构造
|
|
|
@ -1,147 +0,0 @@
|
||||||
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();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,6 +0,0 @@
|
||||||
dfsdfsdfsdaffdsf
|
|
||||||
|
|
||||||
fafdsfsfdaf
|
|
||||||
asdf
|
|
||||||
asdfsadf
|
|
||||||
dfsdfsdfsdaffdsfasdf
|
|
Loading…
Reference in New Issue