B 树(B-Tree)是为磁盘等辅助存取设备设计的一种平衡查找树,它实现了以 O(log n) 时间复杂度执行查找、顺序读取、插入和删除操作。由于 B 树和 B 树的变种在降低磁盘 I/O 操作次数方面表现优异,所以经常用于设计文件系统和数据库。B+ 树是 B 树的一个变种,在内部节点中存储的键值同...
分类:
数据库 时间:
2014-12-08 09:16:31
阅读次数:
299
4.7 设计并实现一个算法,找出二叉树中某两个结点的第一个共同祖先。不得将额外的结点储存在另外的数据结构中。注意:这不一定是二叉查找树。解答本题的关键应当是在Avoid storing additional nodes in a data structure 这句话上。我的理解是,不允许开额外的空间...
分类:
其他好文 时间:
2014-12-06 15:18:05
阅读次数:
253
4.6 设计一个算法,找出二叉查找树中指定结点的“下一个”结点(也即中序后继)。可以假定每个结点都含有指向父节点的连接。思路:有两种情况:1)如果该结点存在右子树,则中序后继即为右子树中最小的结点。 2)如果该结点不存在右子树,则后继结点为使得所给结点在其祖先结点的左子树上的第一个祖先结点...
分类:
其他好文 时间:
2014-12-06 14:04:20
阅读次数:
124
背景铺垫假设我们正在设计一个翻译程序,讲英语翻译成法语,需要用一棵BST存储文章中出现的单词及等价的法语。因为要频繁地查找这棵树,所以我们希望查找时间越短越好。当然我们可以考虑使用红黑树,或者可能更适用的伸展树,来实现这一操作。但是这仍然不能满足我们的需要:由于单词出现频率不同,如果mycophag...
分类:
其他好文 时间:
2014-12-06 12:49:23
阅读次数:
279
4.5 实现一个函数,检查一棵二叉树是否为二叉查找树。参考:http://blog.csdn.net/sgbfblog/article/details/7771096C++实现代码:#include#include#includeusing namespace std;struct TreeNode...
分类:
其他好文 时间:
2014-12-06 12:35:58
阅读次数:
144
4.3 给定一个有序整数数组,元素各不相同按升序排列,编写一个算法,创建一棵高度最小的二叉查找树。解答想要使构建出来的二叉树高度最小,那么对于任意结点, 它的左子树和右子树的结点数量应该相当。比如,当我们将一个数放在根结点, 那么理想情况是,我们把数组中剩下的数对半分,一半放在根结点的左子树, 另一...
分类:
其他好文 时间:
2014-12-06 11:19:29
阅读次数:
145
《算法》中二叉查找树一节的习题:按层遍历二叉查找树。可以使用队列来管理二叉查找树中的节点,节点按照如下方法入队出队:节点x入队当队列不为空时使用队列的第一个元素first如果节点first.left不为空则将fisrt.left入队如果节点first.right不为空则将first.right入队将...
分类:
其他好文 时间:
2014-12-06 00:00:43
阅读次数:
380
二叉查找树的删除过程:
假设要删除树T中的某节点z,此时对于如何删除z要分三种情况考虑:
1. z无子女:此时直接删除z即可
//z无子女
TREE-DELETE0(T,z)
{
if(z == left[p[z]])
left[p[z]] = NULL;
else
right[p[z]] = NULL;
p[z] = NULL;
}...
分类:
其他好文 时间:
2014-12-05 10:54:14
阅读次数:
171
先上二叉树查找树的删除的代码,因为删除是二叉查找树最复杂的操作:
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
binary search tree,中文翻译为二叉搜索树、二叉查找树或者二叉排序树。简称为BST。
本文集齐了二叉树的五大遍历算法:先序遍历、中序遍历、后序遍历、深度优先遍历和广度优先遍历(同层遍历也就是深度优先遍历)。
// BSTree.h
#include
#include
#include
#include
using namespace std;
// bin...
分类:
编程语言 时间:
2014-12-04 01:02:39
阅读次数:
303