package demo5;
public class binarytree
//獲取根節點
public treenode getroot()
public void frontshow()
}public void midshow()
}public void aftershow()
}public treenode presearch(int i)
public treenode midsearch(int i)
public treenode aftersearch(int i)
}
package demo5;
public class treenode
//設定左兒子
public void setleftnode(treenode leftnode)
//設定右兒子
public void setrightnode(treenode rightnode)
//前序遍歷
public void frontshow()
//右節點
if(rightnode!=null)
}//中序遍歷
public void midshow()
//當前節點
system.out.print(value+" ");
//右節點
if(rightnode!=null)
}//後序遍歷
public void aftershow()
//右節點
if(rightnode!=null)
//當前節點
system.out.print(value+" ");
}//前序查詢
public treenode presearch(int i) else
//如果不為空,說明在左兒子中已經找到
if(target!=null)
//查詢右兒子
if(rightnode!=null)
}return target;
}//中序查詢
public treenode midsearch(int i)
//如果不為空,說明在左兒子中已經找到
if(target!=null)
//對比當前節點的值
if(this.value==i)
//查詢右兒子
if(rightnode!=null)
return target;
}//後序查詢
public treenode aftersearch(int i)
//如果不為null,說明在左兒子中已經找到
if(target!=null)
//查詢右兒子
if(rightnode!=null)
//如果target不為空,說明在右兒子中已經找到
if(target!=null)
//對比當前節點的值
if(this.value==i)
return null;
}}
package demo5;
public class testbinarytree
}
二叉樹 前序遍歷 中序遍歷 後序遍歷
前序遍歷 dlr 是二叉樹遍歷的一種,也叫做先跟遍歷,先序遍歷,前序周遊,可記做根左右。前序遍歷首先訪問根節點然後遍歷左子樹,最後遍歷右子樹。前序遍歷首先訪問根節點然後遍歷左子樹,最後遍歷右子樹。在遍歷左 右子樹時,仍然先訪問根節點,然後遍歷左子樹,最後遍歷右子樹。若二叉樹為空則結束返回,否則 1 ...
二叉樹前序,中序,後序遍歷詳解
只要是搞計算機的,對資料結構中二叉樹遍歷都不陌生,但是如果用到的機會不多那麼就會慢慢淡忘,溫故而之新才是最好的學習方式,現在就重新溫習一下這方面的知識。首先我想先改變這幾個遍歷的名字 前根序遍歷,中根序遍歷,後根序遍歷 前中後本來就是相對於根結點來說的,少乙個字會產生很多不必要的誤解。1.前根序遍歷...
二叉樹前序,中序,後序遍歷詳解
只要是搞計算機的,對資料結構中二叉樹遍歷都不陌生,但是如果用到的機會不多那麼就會慢慢淡忘,溫故而之新才是最好的學習方式,現在就重新溫習一下這方面的知識。首先我想先改變這幾個遍歷的名字 前根序遍歷,中根序遍歷,後根序遍歷 前中後本來就是相對於根結點來說的,少乙個字會產生很多不必要的誤解。1.前根序遍歷...