JavascriptAVLツリーでバランス係数を計算する
AVLツリーは、左右のサブツリーの高さをチェックし、差が1以下であることを確認します。この差はバランス係数>
たとえば、次のツリーでは、最初のツリーはバランスが取れており、次の2つのツリーはバランスが取れていません-
2番目のツリーでは、Cの左側のサブツリーの高さが2で、右側のサブツリーの高さが0であるため、差は2です。3番目のツリーでは、Aの右側のサブツリーの高さが2で、左側が欠落しているため、0になります。 、そして差は再び2です。 AVLツリーでは、差(バランス係数)を1のみにすることができます。
BalanceFactor = height(left-sutree) − height(right-sutree)
左右のサブツリーの高さの差が1より大きい場合、ツリーはいくつかの回転手法を使用してバランスが取られます。
このメソッドを定義し、クラスも初期化しましょう-
例
class AVLTree { constructor() { // Initialize a root element to null. this.root = null; } getBalanceFactor(root) { return this.getHeight(root.left) - this.getHeight(root.right); } getHeight(root) { let height = 0; if (root === null) { height = -1; } else { height = Math.max(this.getHeight(root.left), this.getHeight(root.right)) + 1; } return height; } } AVLTree.prototype.Node = class { constructor(data, left = null, right = null) { this.data = data; this.left = left; this.right = right; } };
-
JavascriptAVLツリーでバランス係数を計算する
AVLツリーは、左右のサブツリーの高さをチェックし、差が1以下であることを確認します。この差はバランス係数 たとえば、次のツリーでは、最初のツリーはバランスが取れており、次の2つのツリーはバランスが取れていません- 2番目のツリーでは、Cの左側のサブツリーの高さが2で、右側のサブツリーの高さが0であるため、差は2です。3番目のツリーでは、Aの右側のサブツリーの高さが2で、左側が欠落しているため、0になります。 、そして差は再び2です。 AVLツリーでは、差(バランス係数)を1のみにすることができます。 BalanceFactor = height(left-sutree) &min
-
JavaScriptを使用してパリティビットを計算してバイナリに追加する
パリティビット パリティビットまたはチェックビットは、ビットの文字列に追加されるビットであり、文字列内の1ビットの総数が偶数または奇数になるようにします。 問題 2つのパラメーターを受け取るJavaScript関数を作成する必要があります。1つは必要なパリティ(常に「偶数」または「奇数」)であり、もう1つはチェックする数値のバイナリ表現です。 この関数のタスクは、整数(0または1)を返すことです。これは、結果の文字列のパリティが期待どおりになるように、バイナリ表現に追加する必要のあるパリティビットです。 例 以下はコードです- const parity = 'even'