首页 > 其他 > 详细

二叉搜索树

时间:2016-02-24 12:40:20      阅读:92      评论:0      收藏:0      [点我收藏+]

二叉搜索树:一种二叉树,对于每个节点x,其左子树中的每个节点的关键字小于等于x的关键字,右子树的关键字大于等于x的关键字。

中序遍历:先对每个节点,先输出左子树,输出该节点,再输出右子树

查找:将给定关键字与根节点比较,如果小于则在左子树上查找,否则在右子树查找,等于则查找成功

最大值:树最右的节点

最小值:最左的节点

后继(大于给定节点的最小节点):如果要查找的节点有右孩子,则找其右子树的最小一个。如果没有,向上搜索,直到找到一个该子树是其左孩子的节点

前驱(小于给定节点的最大节点):与后继方法对称。

插入:根据要插入的数z与根节点关键字比较大小,找到一个节点,如果其关键字小于z且右孩子为空,或者大于z且左孩子为空,将z插入该节点的相应孩子节点。注:插入的数一定是放在叶子节点

删除:将节点z从树T中删除,分为三种情况,一、如果z的左孩子为空,则用z的右孩子代替z;二、如果z的右孩子为空,则用z的左孩子代替z;三、在z的右子树上搜索最小值y,y左孩子为空,用y代替z,y由其右孩子代替。

随机构建二叉搜索树:一棵有n个不同关键字的随机构建二叉搜索树的期望高度为O(lgn)

查找,最小值,最大值,后继,前驱,插入,删除的时间复杂度都为O(h),h为树的高度。

二叉搜索树

原文:http://www.cnblogs.com/Jolyne/p/5212266.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!