AVL গাছ বাম এবং ডান উপ-বৃক্ষের উচ্চতা পরীক্ষা করে এবং নিশ্চিত করে যে পার্থক্য 1-এর বেশি নয়। এই পার্থক্যটিকে বলা হয় ব্যালেন্স ফ্যাক্টর।>
উদাহরণস্বরূপ, নিম্নলিখিত গাছগুলিতে, প্রথম গাছটি ভারসাম্যপূর্ণ এবং পরের দুটি গাছ ভারসাম্যপূর্ণ নয় −

দ্বিতীয় গাছে, C-এর বাম উপবৃক্ষের উচ্চতা 2 এবং ডান উপবৃক্ষের উচ্চতা 0, তাই পার্থক্য হল 2। তৃতীয় গাছে, 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;
}
};