【算法框架】二叉搜索树BST

2022/3/21 22:27:35

本文主要是介绍【算法框架】二叉搜索树BST,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

【算法框架】二叉搜索树BST

提取自labuladong得算法小抄

查找数是否存在

void BST(TreeNode root,int target){
	if (root.val == target){
		...
		...
		//找到目标之后,所需要做的事
	}
	
	//递归
	if (root.val < target)
		BST(root.right,target);
	if (root.val > target)
		BST(root.left,target);

插入一个数

TreeNode insertIntoBST(TreeNode root ,int val){
// 找到空位插入
	if(root == null)
		return new TreeNode(val);
// 如果已经存在就不用重复插入了,直接返回
	if(root.val == val)
		return root
// val大,则应该插在右子树上面
	if (root.val<val)
		root.right = insertIntoBST(root.right,val);
// val小,则应该插在左子树上面
	if(root.val>val);
		root.left = insertIntoBST(root.left,val);
	return root;
}

删除一个数

TreeNode deleteNode(TreeNode root ,int key){
	if (root.val=key){
	// 删除操作
	}elsr if(root.val>key){
	//去左子树寻找key
		root.left = deletNode(root.left,key);
	}else if(root.val<key){
	//去右子树寻找key
		root.right= deletNode(root.right,key);
	}
	return root;
}


这篇关于【算法框架】二叉搜索树BST的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程