Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

値を見つける方法は、バイナリツリーに存在するかJavaScriptに存在しないか?


値を取り込んでその値がBSTに含まれているかどうかを検出する、BinarySearchTreeデータ型のプロトタイプオブジェクトにJavaScript関数を記述する必要があります。

このためのコードは-

になります
// class for a single Node for BST
class Node {
   constructor(value) {
      this.value = value;
   }
}
// class for BST
// contains function to insert node and search for existing nodes
class BinarySearchTree {
   constructor() {
      this._root = null;
   };
   insert(value) {
      let node = this, side = '_root';
      while (node[side]) {
         node = node[side];
         if (value === node.value) {
            return;
         };
         side = value < node.value ? 'left' : 'right';
      };
      node[side] = new Node(value);
   };
   contains(value) {
      let current = this._root;
      while (current) {
         if (value === current.value) {
            return true;
         };
         current = value < current.value ? current.left : current.right;
      }
      return false;
   };
}
const tree = new BinarySearchTree();
for (let i = 0; i < 10; i++) {
   tree.insert(Math.floor(Math.random() * 1000));
};
tree.insert(34);
console.log(tree.contains(34));
console.log(tree.contains(334));

出力

そして、コンソールの出力は-

になります
true
false

  1. Javascriptのバイナリツリー

    バイナリツリーは、データストレージの目的で使用される特別なデータ構造です。二分木には、各ノードが最大2つの子を持つことができるという特別な条件があります。バイナリツリーには、検索が並べ替えられた配列と同じくらい高速であり、挿入または削除操作がリンクリストと同じくらい高速であるため、順序付き配列とリンクリストの両方の利点があります。 これは、以下で説明するいくつかの用語を含む二分木の図です- 重要な用語 以下は、ツリーに関する重要な用語です。 パス −パスとは、ツリーのエッジに沿ったノードのシーケンスを指します。 ルート −ツリーの最上部にあるノードはルートと呼ばれます。ツ

  2. JavaScriptでハッシュのキーを見つける方法は?

    以下は、JavaScriptでハッシュのキーを見つけるためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style> &nb