資料結構 二叉樹上的查詢演算法

2021-09-28 12:45:12 字數 792 閱讀 5225

要實現該查詢操作,可在二叉樹的先根遍歷過程中進行,並且在遍歷時將訪問根結點的操作視為將根結點的值與x進行比較的操作。其主要步驟描述如下:

若二叉樹為空,則不存在這個結點,返回空值;否則,將根結點的值與x進行比較,若相等,則返回該結點。

若根結點的值與x不相等,則在左子樹中進行查詢,若找到,則返回找到的結點。

若在左子樹中沒找到x的結點,則繼續在右子樹中進行查詢,並返回查詢結果。

二叉鏈式儲存結構結點類描述:

package tree;

public

class

bitreenode

//構造一顆左、右孩子域為空的二叉樹

public

bitreenode

(object data)

//構造一棵資料域和左、右孩子域都不為空的二叉樹

public

bitreenode

(object data,bitreenode lchild,bitreenode rchild)

}

二叉樹類描述

public

class

bitree

public

bitree

(bitreenode root)

//二叉樹上的查詢演算法

public bitreenode searchnode

(bitreenode t,object x)

else

}return null;

}}

資料結構演算法 二叉樹

二叉樹資料結構 bintree.h include templateclass bintree template class treenode type data treenode lchild 左,右子樹 treenode rchild template class bintree void cr...

資料結構與演算法之二叉樹查詢

二叉樹 查詢指定節點 要求1 請編寫前序查詢,中序查詢和後序查詢的方法。2 並分別使用三種查詢方式,查詢 herono 5 的節點 3 並分析各種查詢方式,分別比較了多少次 思路分析 實現 public class treedemo class binarytree 前序遞迴遍歷 public vo...

(三)資料結構 二叉樹的查詢

二叉查詢樹的一些實現,一些心得都嵌入其中的注釋 include iostream using namespace std 因為查詢樹左小右大 template class binarysearchtree 結點複製構造時使用 binarynode root void insert const t x...