摘要: 用c++实现了一个BinarySearchTree的模板类其他都很简单,重点说一下删除结点的方法。如果结点是一片叶子,那么可以立即被删除;如果结点只有一个左儿子或一个右儿子,则左儿子或右儿子代替结点位置即可;复杂的情况是有两个儿子,可以用被删除节点A的左子树的最右节点或者A的右子树的最左节点作为替代... 阅读全文
posted @ 2016-01-25 23:57 zhangbaochong 阅读(1479) 评论(2) 推荐(1) 编辑
摘要: 给定一个值,将链表小于该值得结点放到左边,大于该值得放到右边例如:Given1->4->3->2->5->2andx= 3,return1->2->2->4->3->5.思路:分别将值大于小于给定值得结点生成另外两个链表,最后再将这两个链表相连代码: 1 /** 2 * Definition fo... 阅读全文
posted @ 2016-01-25 19:07 zhangbaochong 阅读(339) 评论(0) 推荐(0) 编辑
摘要: 二叉排序树(Binary Sort Tree)又称二叉查找树(Binary Search Tree),亦称二叉搜索树。定义:二叉排序树或者是一棵空树,或者是具有下列性质的二叉树:(1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值;(2)若右子树不空,则右子树上所有结点的值均大于它的根结点... 阅读全文
posted @ 2016-01-25 16:31 zhangbaochong 阅读(437) 评论(0) 推荐(0) 编辑