搜尋二叉樹

2021-09-26 10:44:19 字數 1457 閱讀 7504

搜尋二叉樹:左節點小於根節點,根節點小於右節點。如果對搜尋二叉樹進行中序遍歷的話,那就是乙個排好序的陣列。

搜尋二叉樹具有查詢快,刪除快,新增快,等於綜合了順序儲存和鏈式儲存的優點。

包含了三個方法,新增,刪除,查詢

package com.wuxudong.binarysorttree;

public class node

//新增方法

public void add(node node)else if (this.value

}@override

public string tostring() ';}}

package com.wuxudong.binarysorttree;

public class binarysorttree else

}//中序遍歷,即按照已經排好的順序

public void midshow()

//查詢節點

public node search(int value)else

}public void deletenode(int i) else

//找出刪除節點的父節點

node parent = findparent(node);

//如果刪除的節點是葉子節點

if (node.left==null&&node.right==null&&parent.left==node)else if (node.right==null&&node.left==null&&parent.right==node)else if (node.right==null&&node.left!=null)else if (node.left==null&&node.right!=null)else }}

public int findrightmin(node node)

deletenode(target.value);

return target.value;

}public node findparent(node node) else if (root==node)

else}}

package com.wuxudong.binarysorttree;

public class testbinarysorttree ;

binarysorttree tree=new binarysorttree();

for (int i:arr)

//node node= tree.search(7);

//刪除節點

tree.deletenode(12);

tree.midshow();}}

二叉樹 還原二叉樹 二叉搜尋樹

先序遍歷的特點 先遍歷根結點,再遍歷左子樹,最後再遍歷右子樹 中序遍歷的特點 先遍歷左子樹,再遍歷根結點,最後再遍歷右子樹 後序遍歷的特點 先遍歷左子樹,再遍歷右子樹,最後再遍歷根結點 舉例 先序遍歷 a b d f g h i e c 中序遍歷 f d h g i b e a c 如上,根據先序遍...

樹 二叉樹 二叉搜尋樹

給定乙個二叉樹,判斷其是否是乙個有效的二叉搜尋樹。假設乙個二叉搜尋樹具有如下特徵 節點的左子樹只包含小於當前節點的數。節點的右子樹只包含大於當前節點的數。所有左子樹和右子樹自身必須也是二叉搜尋樹。示例 1 輸入 2 13輸出 true 示例 2 輸入 5 14 3 6輸出 false 解釋 輸入為 ...

排序二叉樹or搜尋二叉樹or查詢二叉樹

排序二叉樹,搜尋二叉樹,查詢二叉樹都是乙個意思,只是叫法不同而已。下面的文章中我們統稱為排序二叉樹。本文主要是針對高中資訊學,因此其中不涉及到指標,所有需要用指標的地方都直接使用陣列進行模擬。排序二叉樹定義 1 若左子樹不空,則左子樹上所有結點的值均小於或等於它的根結點的值 2 若右子樹不空,則右子...