面試基礎知識整理 二叉搜尋樹

2021-07-30 10:54:50 字數 2223 閱讀 3639

二叉查詢樹(英語:binary search tree),也稱二叉搜尋樹、有序二叉樹(英語:ordered binary tree),排序二叉樹(英語:sorted binary tree),是指一棵空樹或者具有下列性質的二叉樹:

摘自維基百科 二叉搜尋樹

二叉搜尋樹節點
package tree;

/** * created by song on 4/8/17.

* * 二叉搜尋樹節點

*/public

class binarynode

public

binarynode(t value)

public

binarynode(t value, binarynodeleft, binarynoderight)

public t getvalue()

public

void

setvalue(t value)

public binarynodegetleft()

public

void

setleft(binarynodeleft)

public binarynodegetright()

public

void

setright(binarynoderight)

}

二叉搜尋樹
package tree;

/** * created by song on 4/8/17.

* * 二叉搜尋樹

*/public

class binarysearchtree

public

binarysearchtree(binarynoderoot)

public boolean isempty()

public

void

clean()

public t find(t t)

public t findmin()

public t findmax()

public

void

insert(t t)

public

void

remove(t t)

public

void

printtree()

private t valueat(binarynodenode)

@suppresswarnings("unchecked")

private binarynodefind(t x, binarynodenode)

if (x.compareto(node.getvalue()) < 0) else

if (x.compareto(node.getvalue()) > 0) else

}private binarynodefindmin(binarynodenode)

if (node.getleft() == null)

return findmin(node.getleft());

}private binarynodefindmax(binarynodenode)

if (node.getright() == null)

return findmax(node.getright());

}@suppresswarnings("unchecked")

private binarynodeinsert(t t, binarynodenode)

if (t.compareto(node.getvalue()) < 0) else

if (t.compareto(node.getvalue()) > 0) else

return node;

}@suppresswarnings("unchecked")

private binarynoderemove(t t, binarynodenode)

if (t.compareto(node.getvalue()) < 0) else

if (t.compareto(node.getvalue()) > 0) else

if (node.getleft() != null && node.getright() != null) else

return node;

}}

面試基礎知識整理 樹

樹是由n n 1 個有限節點組成乙個具有層次關係的集合。把它叫做 樹 是因為它看起來像一棵倒掛的樹,也就是說它是根朝上,而葉朝下的。它具有以下的特點 摘自維基百科 樹 所有元素最多有兩個節點 package tree created by song on 4 8 17.二叉樹節點 public cl...

整理 關於二叉樹的基礎知識

任何乙個可以用計算機求解的問題所需的計算時間都與其規模有關.問題的規模越小,解題所需的計算時間往往越少,從而也較容易處理.分治法設計思想 將乙個難以直接解決的大問題,分割成一些規模較小的相同問題,以便各個擊破,分而治之 遞迴演算法就是由分治法設計思想產生的.乙個直接或間接地呼叫自身的演算法稱為遞迴演...

二叉樹的基礎知識

為何要重點研究結點最多只有兩個 叉 的樹?二叉樹的結構最簡單,規律性最強 可以證明,所有樹都能轉為唯一對應的二叉樹。二叉樹的定義 定義 是n n 0 個結點的有限集合,由乙個根結點以及兩棵互不相交的 分別稱為左子樹和右子樹的二叉樹組成 邏輯結構 一對二 1 2 基本特徵 每個結點最多只有兩棵子樹 不...