先上二叉树查找树的删除的代码,因为删除是二叉查找树最复杂的操作:
int BinarySearchTree::tree_remove(const T& elem)
{
BinarySearchTreeNode *z = tree_search(elem);//根据元素查找到要删除的节点
BinarySearchTreeNode *x, *y;
if (z != NULL)
{
...
分类:
编程语言 时间:
2014-12-04 08:51:29
阅读次数:
209
2014-12-02 20:21:40http://www.cnblogs.com/sungoshawk/p/3617652.html上面链接指向算法导论第二章的预习博客,很值得一看,很详细。插入算法: 1 #include 2 3 using namespace std; 4 void ins.....
分类:
编程语言 时间:
2014-12-02 22:02:39
阅读次数:
146
代码实现 1 #ifndef _SORT_H 2 #define _SORT_H 3 4 // goal: quicksort and insertsort 5 // time: 12/2/2014 6 // author: zrss 7 // reference: introduction to....
分类:
编程语言 时间:
2014-12-02 13:20:36
阅读次数:
226
算法导论 第一章,为了让自己基本功更加的扎实,从今天起开始学习算法导论。 我以一位学长的博客为学习的参考资料,开始我的学习吧!附上一句话: Having a solid base of algorithm knowledge and technique is one characteristi...
分类:
编程语言 时间:
2014-11-30 22:54:39
阅读次数:
285
摘要:
本章介绍了散列表(hash table)的概念、散列函数的设计及散列冲突的处理。散列表类似与字典的目录,查找的元素都有一个key与之对应,在实践当中,散列技术的效率是很高的,合理的设计散函数和冲突处理方法,可以使得在散列表中查找一个元素的期望时间为O(1)。散列表是普通数组概念的推广,在散列表中,不是直接把关键字用作数组下标,而是根据关键字通过散列函数计算出来的。书中介绍散列表非...
分类:
编程语言 时间:
2014-11-30 09:18:33
阅读次数:
333
算法导论12.1 什么是二叉搜索树二叉搜索树应满足的性质:设x是二叉搜索树中的一个结点。如果y是x左子树中的一个结点,那么y.key = y.key。(这里是可以取等于的)例如: 3 / \ 2 4 / \ 1 2 可以容许相同的数。中序遍历,因为根的遍历在左右...
分类:
其他好文 时间:
2014-11-28 22:35:33
阅读次数:
282