當前位置:首頁 » 編程語言 » java樹查找

java樹查找

發布時間: 2022-08-01 10:23:56

❶ 在線等,計算機高手,java深度搜索樹代碼

有一本書,是講JAVA數據結構的,裡面有很多樹的講解和例子,二叉樹什麼的,還有樹的遍歷,都有例子,建議去看一下

❷ 二叉排序樹的插入與查找 求Java大神幫忙


//二叉樹結構類Btree.java
publicclassBtree{
privateintdata;
privateBtreeleft;
privateBtreeright;
publicvoidsetData(intdata){
this.data=data;
}
publicintgetData(){
returndata;
}
publicvoidsetLeft(Btreebtree){
this.left=btree;
}
publicvoidsetRight(Btreebtree){
this.right=btree;
}
publicBtreegetLeft(){
returnleft;
}
publicBtreegetRight(){
returnright;
}
publicBtree(){
super();
}
}
//工具類,二叉樹創建,查找,遍歷,排序。都在這了Tools.java
publicclassTools{
publicBtreecreate(intdata){
Btreebtree=newBtree();
btree.setData(data);
returnbtree;
}
publicvoidadd(Btreebtree,intdata){
if(data<btree.getData()){
if(btree.getLeft()!=null){
btree=btree.getLeft();
add(btree,data);
}else{
btree.setLeft(create(data));
}
}else{
if(btree.getRight()!=null){
btree=btree.getRight();
add(btree,data);
}else{
btree.setRight(create(data));
}
}
}
//中序遍歷
publicvoidmidSerch(Btreebtree){
if(btree.getLeft()!=null)
midSerch(btree.getLeft());
System.out.print(btree.getData()+"");
if(btree.getRight()!=null)
midSerch(btree.getRight());
}
//二叉樹查找
publicvoidfind(Btreebtree,intdata){
if(btree.getData()>data)
{
if(btree.getLeft()==null)
{
System.out.println("沒有這種結果,搜索完畢");
return;
}else
find(btree.getLeft(),data);
}elseif(btree.getData()==data)
{
System.out.println("查找成功,查找到的數據是"+data);
return;
}else
{
if(btree.getRight()==null){
System.out.println("沒有這種結果,搜索完畢");
return;
}
else
find(btree.getRight(),data);
}
}
}
//主類,與注釋的自己看MidSerchBtree.java
publicclassMidSerchBtree{
publicstaticvoidmain(Stringargs[]){
Toolstools=newTools();
intdatas[]={6,4,3,7,8,9,2,1,5,8,9,12,23,45,3,7,5};
Btreebtree=tools.create(datas[0]);
for(inti=1;i<datas.length;i++){//第一個初始化插入作為根節點了
tools.add(btree,datas[i]);
}
tools.midSerch(btree);//中根遍歷小的插入左邊,大的在右邊,所以,中序遍歷一遍就是排序
tools.find(btree,56);
}
}

❸ java查看結果樹不顯示

因為Jmeter尚未支持Java10。
查看結果樹查看響應有哪幾種方法,可通過左側面板底部的下拉框選擇、查看結果樹中請求的默認格式為,會顯示請求的取樣器結果、請求、響應數據個部分內容。取樣器結果:默認視圖,可以切換為視圖,表單顯示更直觀。
查看結果樹中請求的默認格式為,會顯示請求的取樣器結果、請求、響應數據個部分內容。

❹ Java中查詢樹,當查詢到相應的樹節點,如何讓焦點顯示在相應的樹節點上

根據不同的選擇模式,使用

void
setSelectionPath(TreePath path)
選擇指定路徑標識的節點。

void
setSelectionPaths(TreePath[] paths)
選擇由指定的路徑數組標識的節點。

void
setSelectionRow(int row)
選擇顯示的指定行的節點。

void
setSelectionRows(int[] rows)
選擇與顯示的每個指定行對應的節點。

❺ java數據結構二叉樹查找結點操作,遞歸調用求詳細講解

這是先序遍歷樹的代碼,什麼是先序遍歷呢,一種按照根-左子樹-右子樹的順序遍歷樹就是先序遍歷。
CBTType TreeFindNode(CBTType treeNode,String data){
CBTType ptr;
if(treeNode==null){//輸入根節點為空時
return null;
}else{
if(treeNode.data.equals(data)){//根節點等於要查找的數據時
return treeNode;
}else{
if((ptr=TreeFindNode(treeNode.left,data))!=null){//從左子樹查找,為什麼可以用TreeFindNode表示呢?
return ptr;
}else if((ptr=TreeFindNode(treeNode.right,data))!=null){//從右子樹查找
return ptr;
}else{
return null;
}
}
}
}
從左子樹查找,為什麼可以用TreeFindNode表示呢?因為,左子樹也可以按照先序遍歷的順序查找的,所以當然可以用TreeFindNode表示,如果你想左子樹用中序遍歷查找,那麼就不可以用TreeFindNode表示。
上述例子的查找過程:
1 --根(2,4,5)--左(3,6,7)--右
2--根(4)--左(5)--右
4--根
5--根
返回

❻ java 二叉樹查找

答案是-2的
你可以看到api的解釋:
使用二分搜索法搜索指定列表,以獲得指定對象。在進行此調用之前,必須根據列表元素的自然順序對列表進行升序排序(通過 sort(List)
方法)。

如果搜索鍵包含在列表中,則返回搜索鍵的索引;否則返回 (-(插入點) - 1)。插入點
被定義為將鍵插入列表的那一點:即第一個大於此鍵的元素索引;如果列表中的所有元素都小於指定的鍵,則為
list.size()。注意,這保證了當且僅當此鍵被找到時,返回的值將 >= 0。
你的ab經過升序排列在第1位(算是第二位,當然此時的0算第一位了),那麼返回值就應該是-2;

❼ java樹級對象遞歸查找子集問題

packagecom.demo.dept;

/**
*@authordongbin.yu
*@from2016-05-06
*@sinceV1.0
*/
publicclassDept{

privateintid;

privateStringname;

privateintparentId;

publicintgetId(){
returnid;
}

publicvoidsetId(intid){
this.id=id;
}

publicStringgetName(){
returnname;
}

publicvoidsetName(Stringname){
this.name=name;
}

publicintgetParentId(){
returnparentId;
}

publicvoidsetParentId(intparentId){
this.parentId=parentId;
}

publicDept(intid,Stringname,intparentId){
this.id=id;
this.name=name;
this.parentId=parentId;
}
}
packagecom.demo.dept;

importjava.util.ArrayList;
importjava.util.HashMap;
importjava.util.List;
importjava.util.Map;

/**
*@authordongbin.yu
*@from2016-05-06
*@sinceV1.0
*/
publicclassDeptTest{

privatestaticList<Dept>depts=newArrayList<>();

static{
depts.add(newDept(1,"部門1",0));
depts.add(newDept(2,"部門2",1));
depts.add(newDept(3,"部門3",1));
depts.add(newDept(4,"部門4",1));
depts.add(newDept(5,"部門5",2));
depts.add(newDept(6,"部門6",3));
depts.add(newDept(7,"部門7",2));
depts.add(newDept(8,"部門8",2));
depts.add(newDept(9,"部門9",1));
depts.add(newDept(10,"部門10",5));
}

publicstaticvoidmain(String[]args){
Map<Integer,List<Integer>>deptMap=newHashMap<>();

for(Deptdept:depts){
deptMap.put(dept.getId(),getChildDept(dept.getId()));
}

System.out.println(deptMap);

}

privatestaticList<Integer>getChildDept(intid){
List<Integer>ids=newArrayList<>();

for(Deptdept:depts){
if(dept.getParentId()==id){
//添加第一次父id符合的
ids.add(dept.getId());
//添加嵌套父id符合的
ids.addAll(getChildDept(dept.getId()));
}
}
Collections.sort(ids);
returnids;
}

}

❽ java 目錄樹如何檢索子級返回

Java中使用遞歸演算法實現查找樹形結構中所有父級和子級節點,用遞歸加一個全局變數標記是否已經找到,然後返回。

截取後面的一段例子:

  • if (list[i].ID.Equals(id) || found)

  • found = true;

  • return;

拓展資料

遞歸查詢子級節點

1.一個節點可能有多個子級節點,每個自己節點可能還有更多的子級節點。

2.所以遞歸時的參數用一個list來接受,首先遍歷參數list,分別查詢pid為參數id的對象。

3.每一個參數id所查詢返回的數據是一個對象的list。

4.遍歷list獲取符合條件的對象的id值,一份存到temp中用作遞歸的參數,並存到全局變數中用來獲取所有符合條件的id。

熱點內容
反恐精英15游戲伺服器ip 發布:2025-01-23 21:13:38 瀏覽:850
起床的戰爭玩什麼伺服器 發布:2025-01-23 21:03:06 瀏覽:141
企業級安卓手機防毒軟體哪個好 發布:2025-01-23 20:59:28 瀏覽:242
資料庫精美 發布:2025-01-23 20:37:05 瀏覽:235
mysql怎麼編譯驅動 發布:2025-01-23 20:35:15 瀏覽:467
修改資料庫的語句是 發布:2025-01-23 20:26:17 瀏覽:762
linuxping域名 發布:2025-01-23 20:24:34 瀏覽:479
神經網路演算法應用 發布:2025-01-23 20:18:36 瀏覽:218
冒險島按鍵精靈腳本下載 發布:2025-01-23 19:46:50 瀏覽:751
安卓訪問共享需要開通什麼服務 發布:2025-01-23 19:43:01 瀏覽:518