כדי להוסיף איבר, נבצע תחילה פעולה דומה לפעולת החיפוש:
נתחיל מהשורש, ובכל צעד נשווה את הערך החדש לערך הצומת. אם הערך
החדש גדול יותר נעבור לבן הימני, ואם הוא קטן יותר נעבור לבן השמאלי.
נמשיך עד שלא יהיה קיים לצומת מסויים בן ימני או שמאלי, ואז נוסיף
צומת חדש בתור הבן הימני או שמאלי שלו.
זמן פעולה: כגובה העץ: (O(logn בממוצע, (O(n במקרה הגרוע.
function bst_insert( x, t )
new_node = CreateNewNode()
new_node.data <- x
new_node.left <- nil
new_node.right <- nil
if( t.root == nil )
t.root <- new_node
return
node <- t.root
while node!=nil
parent <- node
if x < node.data
node <- node.left
if (node==nil) parent.left <- new_node
else if x > node.data
node <- node.right
if (node==nil) parent.right <- new_node
else return /* it's already in the tree */