補充 昨天使用二叉樹儲存資料的實現

2021-07-16 05:27:44 字數 1341 閱讀 9208

package org.lulu.learn;

/** * project: day06

* created: lulu

* date: 2016/8/3

* * 如何用樹形結構儲存資料

*/// 必須讓型別自己可以比較, 泛型不可以用實現implements 關鍵字

public class treenode>

public

void add(t t)

int i =

data

.compareto(t);//比較結果

if (i <

0) else

} //此處不能用else因為還有i = 0的情況, 就不做處理

if (i >

0) else }}

//刪除非葉結點: 可以找該節點的左側節點的最右邊的值

//或者找該節點的右側節點的最左邊的值提上來

public

void remove(t t)

if (i <

0) //要刪除的就是當前的節點

if (i ==

0) else

} else

if (left !=

null) else

} else else

}}elseelse

} else

if(left !=

null)else

}else}}

}private t removefinalleft() else

}private t removefinalright() else

}@override

public

string tostring()

if (right !=

null)

return builder.tostring();

}public t getdata()

public

void setdata(t data)

public treenode getleft()

public

void setleft(treenode left)

public treenode getright()

public

void setright(treenode right)

public treenode getparent()

public

void setparent(treenode

parent)

}

二叉樹(補充)

1.二叉樹的下乙個節點 給定乙個二叉樹和其中的乙個結點,請找出中序遍歷 左,根,右 順序的下乙個結點並且返回。注意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指標。2 當前節點的右子樹不存在且當前節點是其父節點的左子節點,則其父節點就是下一節點。3 當前節點的右子樹不存在且當前節點是其父節點...

資料儲存 二叉樹

二叉樹 binary tree 是樹形結構的乙個重要型別。許多實際問題抽象出來的資料結構往往是二叉樹形式,即使是一般的樹也能簡單地轉換為二叉樹,而且二叉樹的儲存結構及其演算法都較為簡單,因此二叉樹顯得特別重要。二叉樹特點是每個結點最多只能有兩棵子樹,且有左右之分。二叉樹是n個有限元素的集合,該集合或...

資料儲存 二叉樹的鏈式儲存

陣列表示法用於完全二叉樹的儲存表示非常有效,但表示一般二叉樹則不是很理想。此外,在一棵樹中進行插入和刪除操作時,為了反應結點層次的變動,可能需要移動許多的結點,這樣降低了演算法的效率,而使用了鍊錶表示可以克服這樣的缺點。根據二叉樹的定義,可以設計出二叉樹節點的構造。二叉樹的每乙個結點至少應該包括三個...