二叉搜尋樹的查詢,新增和刪除

2021-09-25 10:42:07 字數 934 閱讀 7556

//

// main.cpp

// niukewang

//// created by ** on 2019/8/17.

//#include #include using namespace std;

//二叉搜尋樹的查詢,新增和刪除

struct treenode

};//二叉搜尋樹的新增

treenode* insert(treenode* bst,int data)elseelse if(data > bst->val)

//如果元素已經存在,什麼都不做

}return bst;

}//二叉樹的查詢

treenode * find(treenode* bst,int data)else if(data > bst->val)else

}return bst;

}//查詢最小值結點

treenode * findmin(treenode* bst)

}return bst;

}//查詢最大值結點

treenode * findmax(treenode* bst)

}return bst;

}//刪除結點

treenode * deletenode(treenode *bst,int data)else if(data < bst->val)else if(data > bst->val)elseelseelse if(bst->right)else

delete temp;//釋放記憶體}}

return bst;

}void preorder(treenode* bst)

}void inorder(treenode* bst)

}int main(int argc, const char * ar**)

(二叉樹)二叉搜尋樹的查詢 插入和刪除

二叉搜尋樹或者是一棵空樹,或者是具有下列性質的二叉樹 若它的左子樹不空,則左子樹上所有結點的值均小於它的根結點的值 若它的右子樹不空,則右子樹上所有結點的值均大於它的根結點的值 它的左 右子樹也分別為二叉搜尋樹。二叉搜尋樹的特點之一即是其中序遍歷為公升序。根據二叉搜尋樹的性質,每個結點的值都是大於其...

二叉搜尋樹的插入,查詢,刪除

include using namespace std template class node 預設析構函式 templatenode node template node node t value template class bstree 預設析構 void buildbstree 建立二叉樹 ...

二叉搜尋樹的查詢 插入 刪除

coding utf 8 time 2020 9 23 15 56 author julyli file bst.py class bitreenode def init self,data self.data data self.lchild none self.rchild none self....