A heap is a special type of tree-based data structure that satisfies the heap property: the value of each node is always greater than or equal to the value of its parent, with the exception of the root node, which has no parent. There are two types of heaps: min heaps and max heaps. In a min heap, the value of each node is always greater than or equal to the value of its parent, while in a max heap, the value of each node is always less than or equal to the value of its parent.
A binary search tree (BST) is a type of binary tree that is used for searching and sorting data. It is called a "search tree" because it can be efficiently used to search for the presence or absence of a particular element in the tree. It is called a "binary" tree because each node has at most two children.
A binary tree is a tree data structure in which each node has at most two children. Binary trees are commonly used to implement search algorithms, such as binary search.
A tree is a non-linear data structure that consists of nodes organized in a hierarchical structure. Each node in a tree has one or more child nodes and is referred to as the parent of its child nodes. The node at the top of the tree is called the root and the nodes without children are called leaf nodes.