1 nginx的基数树简介
基数树是一种二叉查找树,它具备二叉查找树的所有优点:检索、插入、删除节点速度快,支持范围查找,支持遍历等。在nginx中仅geo模块使用了基数树。nginx的基数树使用ngx_radix_tree_t这个结构体表示的。ngx_radix_tree_t要求存储的每个节点都必须以32位整形作为区别任意两个节点的唯一标识。ngx_radix_tree_t基数树会负责分配每个...
分类:
其他好文 时间:
2014-10-01 18:19:41
阅读次数:
235
第十一章执行查询算法基本概念:三类查找方法:线性查找、树形查找、哈希表查找动态查找表:在查找的同时,对表做修改操作(如插入和删除),则相应的表称为动态查找表静态查找表:与动态查找表相反查找过程中对关键字需要执行的平均比较次数(也称平均比较长度作为衡量一个查找..
分类:
其他好文 时间:
2014-10-01 00:37:01
阅读次数:
338
在递归函数中,加上max和min,保存当前子树的最大值和最小值
合法的二叉查找树:
1.左子树最大值
2.右子树最小值>根节点
3.子树均为合法的BST
bool isValidBST(TreeNode *root) {
if (!root) return true;
int max, min;
return isValid(root, m...
分类:
其他好文 时间:
2014-09-26 20:54:38
阅读次数:
131
第一节、B树、B+树、B*树 1.前言: 动态查找树主要有:二叉查找树(Binary Search Tree),平衡二叉查找树(Balanced Binary Search Tree),红黑树(Red-Black Tree ),B-tree/B+-tree/ B*-tree?(B~Tree)。前三者...
分类:
其他好文 时间:
2014-09-24 21:46:38
阅读次数:
244
B-树&B+树以及其在数据库中的应用1 .B-树定义B-树是一种平衡的多路查找树,它在文件系统中很有用。定义:一棵m 阶的B-树,或者为空树,或为满足下列特性的m 叉树:⑴树中每个结点至多有m 棵子树;⑵若根结点不是叶子结点,则至少有两棵子树;⑶除根结点之外的所有非终端结点至少有[m/2] 棵子树;...
分类:
数据库 时间:
2014-09-23 14:29:04
阅读次数:
407
红黑树
时间限制:3000 ms | 内存限制:65535 KB
难度:3
描述
什么是红黑树呢?顾名思义,跟枣树类似,红黑树是一种叶子是黑色果子是红色的树。。。
当然,这个是我说的。。。
《算法导论》上可不是这么说的:
如果一个二叉查找树满足下面的红黑性质,那么则为一个红黑树。
1)每个节点或是红的,或者是黑的。
2)每个叶子节点(NIL...
分类:
其他好文 时间:
2014-09-21 11:38:00
阅读次数:
148
二叉树是每个节点最多有两个子树的有序树。二叉树常被用于实现二叉查找树和二叉堆。值得注意的是,二叉树不是树的特殊情形。在图论中,二叉树是一个连通的无环图,并且每一个顶点的度不大于2。有根二叉树还要满足根结点的度不大于2。有了根结点后,每个顶点定义了唯一的根结点,和最多2个子结点。然而,没有足够的信息来区分左结点和右结点。二叉树详细请看本文:二叉树
所谓遍历(Traversal)是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。访问结点所做的操作依赖于具体的应用问 题。 遍历是二叉树上最重要的运...
分类:
其他好文 时间:
2014-09-20 16:19:29
阅读次数:
242
Given a binary tree, determine if it is a valid binary search tree (BST).Assume a BST is defined as follows:The left subtree of a node contains only n...
分类:
编程语言 时间:
2014-09-18 11:24:13
阅读次数:
379
题目描述:
二叉排序树,也称为二叉查找树。可以是一颗空树,也可以是一颗具有如下特性的非空二叉树:
1. 若左子树非空,则左子树上所有节点关键字值均不大于根节点的关键字值;
2. 若右子树非空,则右子树上所有节点关键字值均不小于根节点的关键字值;
3. 左、右子树本身也是一颗二叉排序树。
现在给你N个关...
分类:
其他好文 时间:
2014-09-17 16:50:22
阅读次数:
155