package com.foolfish.tree;
/** * @desc 二叉樹演算法
* @author foolfish.chen
* */
public class binarytree
/*** @return the nodevalue
*/public int getnodevalue()
/*** @param nodevalue the nodevalue to set
*/public void setnodevalue(int nodevalue)
/*** @return the lchild
*/public binarytree getlchild()
/*** @param child the lchild to set
*/public void setlchild(binarytree child)
/*** @return the rchild
*/public binarytree getrchild()
/*** @param child the rchild to set
*/public void setrchild(binarytree child)
/*** @desc 構造二叉樹
* @param node
* @param nodevalue
*/public void createtree(binarytree node,int nodevalue)else
}elseelse
} }/**
* @desc 列印從指定節點開始的樹結構
* @param node
*/public void printall(binarytree node)
system.out.print(node.getnodevalue()+",");
// 從左邊開始遍歷
if(node.getrchild() != null)
} /**
* @desc 查詢指定直
* @param node 節點資訊
* @param value 需要查詢的值
*/public int search(binarytree node,int value)else if(node.getnodevalue()return returnvalue;
} /**
* @param args
*/public static void main(string args);
binarytree btree = new binarytree(array[0],null,null);
for(int i = 1 ; i/*********************************
* 列印排序後的值
*********************************/
btree.printall(btree);
/*********************************
* 查詢指定值
*********************************/
system.out.println();
system.out.println(btree.search(btree, 3));
}}
演算法系列之二叉樹
資料結構中有一種結構是樹,不過一般我們常見的是樹中的一種特殊型別 二叉樹。二叉樹簡單來說就是每個節點最多有兩個子節點。如果每個節點都有兩個子節點,那麼我們稱這種二叉樹為滿二叉樹。還有一種二叉樹,其葉子節點都在最底下兩層,最後一層葉子節點都靠左排列,並且除了最後一層,其他層的葉子節點都要達到最大,這種...
java演算法之二叉樹排序
對於樹 adt 形結構,元素的排序不是重點,如果需要排序,一般使用鍊錶 棧 佇列等資料結構。演算法中常用二叉樹,對於二叉樹排序這裡先不介紹,給個傳送門 在這裡講一下二叉樹的遍歷。二叉樹的遍歷按當前節點分為三類 1.前序遍歷dlr d是當前節點 l在d左邊 r在d右邊 這其中lr是可以交換的,因為正常...
演算法基礎之二叉樹
本文主要包括樹相關的演算法,二叉樹結點基本結構如下 function treenode x 本文還會繼續更新。function depth proot var depth 0 var currdepth 0 dfs proot return depth function dfs node currd...