非遞迴演算法得出一棵樹的高度
阿新 • • 發佈:2019-02-09
計算二叉樹樹高的遞迴演算法我想各位朋友們都已經很熟悉了,那麼我們今天就來介紹一種非遞迴的演算法,主要利用的還是層次遍歷
/** * 得出一棵樹的高度(非遞迴演算法) */ public int getHeight(Node node){ Node[] qu=new Node[255]; Node p=node; int tail=0; int head=0; int level=0; int point;//用來指示每一層的最後一個節點 if(node!=null){ qu[tail++]=p; point=tail; while(head!=tail){ p=qu[head++]; if(p.left!=null){ qu[tail++]=p.left; } if(p.right!=null){ qu[tail++]=p.right; } if(head==point){ level++; point=tail; } } } return level; }