【JSデータ構造とアルゴリズム】二分探索木のカプセル化

チェーンストレージ構造を使用して、検索バイナリツリーをカプセル化します

思想:

二分木の定義から、二分木のノードはデータ要素と、それぞれ左右のノードを指す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つの属性が含まれています。
  • ツリーのルートは、に格納されたルート、及び、他のノードは、ルートノードを介して求めることができます。

二分探索木を表示するさまざまな方法

【JSデータ構造】二分探索木の一般的な方法

おすすめ

転載: blog.csdn.net/weixin_42339197/article/details/99705894