In computer science, a B-tree is a self-balancing tree data structure that keeps data sorted and allows searches, sequential access, insertions, and deletions in logarithmic time.
Lots and lots of rules that you almost certainly do not need to know about or memorize! Mostly regarding how many keys/children a tree can have
If you're curious - https://github.com/dcodeIO/btree.js
A binary search tree is an AVL tree if the difference in height between the subtrees of each of its nodes is between -1 and +1. Said another way, a BST is an AVL tree if it is an empty tree or if its subtrees are AVL trees and the difference in height between its left and right subtree is between -1 and +1.
A self balancing binary search tree, with a few rules!