介绍
这篇文章给大家介绍利用java如何实现一个二叉查找树功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
<强> java二叉查找树实例代码强>
1。左边& lt;中间& lt;右边
2。前序遍历左中右
3。中序遍历中左右
4。后序遍历左右中
公共类BinaryTree {//二叉树的根节点 公共TreeNode rootNode;//记录搜索深度 公共int数;/* * *利用传入一个数组来建立二叉树 */公共BinaryTree (int[]数据){ for (int i=0;我& lt;数据。长度;我+ +){ [我]addNodeToTree(数据); } }/* * *将指定的值加入到二叉树中适当的节点 */私人空间addNodeToTree (int值){ TreeNode currentNode=rootNode;//建立树的根 如果(rootNode==null) { rootNode=new TreeNode(价值); 返回; }//建立二叉树 而(真){//新增的价值比节点的值小,则在左子树 如果(价值& lt;currentNode。值){ 如果(currentNode。leftNode==null) { currentNode。leftNode=new TreeNode(价值); 返回; 其他}{ currentNode=currentNode.leftNode; } 其他}{//新增的价值比节点的值大,在右子树 如果(currentNode。rightNode==null) { currentNode。rightNode=new TreeNode(价值); 返回; 其他}{ currentNode=currentNode。rightNode; } } } }/* * *中序遍历(左子树-树的根,右子树) */公共空间”(TreeNode节点){ 如果(节点!=null) { (节点。leftNode); 系统。都会(“[”;+节点。值+“]”); (节点。rightNode); } }/* * *前序遍历(树的根,左子树,右子树) */公共空间预订(TreeNode节点){ 如果(节点!=null) { 系统。都会(“[”;+节点。值+“]”); 预订(节点。leftNode); 预订(节点。rightNode); } }/* * (*后序遍历左子树,右子树,树的根) */公共空间后缀次序(TreeNode节点){ 如果(节点!=null) { 后根次序(节点。leftNode); 后根次序(节点。rightNode); 系统。都会(“[”;+节点。值+“]”); } }/* * *从二叉树中查找指定值 */公共布尔findTree (TreeNode节点,int值){ 如果(节点==null) { 系统。out.println(“共搜索“;+数+“次”); 返回错误; }如果(节点。值=https://www.yisu.com/zixun/=值){ 系统。出去了。println(“共搜索”+数+“次”); 返回true; }else if(价值前序遍历:
[50][35][27][45][40][48][78][56][90]中序遍历:
[27][35][40][45][48][50][56][78][90]后序遍历:
[27][40][48][45][35][56][90][78][50]开始搜索:
共搜索3次
是否搜索到48:真正的
进行排序:
[27][35][40][45][48][50][56][78][90]关于利用java如何实现一个二叉查找树功能就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。
利用java如何实现一个二叉查找树功能