チェーンストレージ構造を使用して、検索バイナリツリーをカプセル化します
思想:
二分木の定義から、二分木のノードはデータ要素と、それぞれ左右のノードを指す2つのブランチで構成されていることがわかります。したがって、二分木を表すリンクリスト内のノードには次のものが含まれている必要があります。少なくとも3つのフィールド。
- data:データフィールド。
- lchild:左ポインタドメイン。
- rchild:右ポインタフィールド。
二分探索木コードをカプセル化する
function BinarySearchTree(){
// 新结点创建的构造函数
function Node(data){
this.data = data;
this.lchild = null;
this.rchild = null;
}
// 保存根的属性
this.root = null;
// 创建关于二叉搜索树的相关操作方法
}
コード分析
- BinarySearchTreeのコンストラクターをカプセル化します。
- 内部クラスをカプセル化して、各ノードノードを格納します。
- この内部クラスには、ノードに対応するデータ値、左側のサブツリーへのポインタフィールド、および右側のサブツリーへのポインタフィールド(どちらも最初はnullを指す)の3つの属性が含まれています。
- ツリーのルートは、に格納されたルート、及び、他のノードは、ルートノードを介して求めることができます。
二分探索木を表示するさまざまな方法