為什麼實用二叉樹
一,在有序陣列中插入刪除資料太慢
1插入或者刪除一條資料會移動後面的所有資料
二,在鍊錶中查詢資料太慢
2查詢只能從頭或者尾部一條一條的找
用樹解決問題
有沒有一種插入和刪除像鍊錶那麼快,查詢可以向有序陣列一樣查得快那樣就好了。
數實現了這些特點,稱為了最有意思的資料結構之一
樹的術語
如下圖
樹分平衡樹和非平衡樹
二叉樹的類
二叉樹插入功能public class tree
/*** 構造方法
* * @param root
* 跟節點
*/public tree(node root)
}class node
}
* 插入節點
* * @param key
* key
* @param value
* 值
*/public void insert(int key, object value) else else
} else else }}
} }二叉樹的查詢功能
* 查詢節點
* * @param key
* @return
*/public node find(int key) else
if (currentnode == null)
}} return currentnode ;
}二叉樹的展示功能(中序遍歷)
}測試
完整**
package tree;
/** * 二叉樹
* * @author jyc506
* */
public class tree
/*** 構造方法
* * @param root
* 跟節點
*/public tree(node root)
/*** 查詢節點
* * @param key
* @return
*/public node find(int key) else
if (currentnode == null)
}} return null;
} /**
* 插入節點
* * @param key
* key
* @param value
* 值
*/public void insert(int key, object value) else else
} else else }}
} }/**
* 展示
*/public void show()
/*** 中序遍歷
* * @param node
*/private void show(node node)
} public static void main(string args)
}class node
}
Java 二叉樹演算法
二叉樹演算法的排序規則 1 選擇第乙個元素作為根節點 2 之後如果元素大於根節點放在右子樹,如果元素小於根節點,則放在左子樹 3 最後按照中序遍歷的方式進行輸出,則可以得到排序的結果 左 根 右 二叉樹演算法的核心類,此類只提供了新增和列印輸出的方法 package com.lym.binarytr...
java 二叉樹實現演算法
package zxx.new 二叉樹演算法實現 author zhaoxin version public class binarytree public binarytree object objects public boolean insert object o else else if c...
二叉樹相關演算法(Java)
二叉樹的非遞迴遍歷 其他相關演算法 輸入一顆二叉樹的根結點,求該樹的深度。從根結點到葉結點依次經過的結點 含根,葉子結點 形成一條路徑,最長路徑的長度為樹的深度 public int treedepth treenode root int left treedepth root.left int r...