首先保证这一篇分析查找算法的文章,气质与大部分搜索引擎搜索到的文章不同,主要体现在代码上面,会更加高级,会结合到很多之前研究过的内容,例如设计模式,泛型等。这也与我的上一篇 "面向程序员编程——精研排序算法" 不尽相同。 关键字:二分查找树,红黑树,散列表,哈希,索引,泛型,API设计,日志设计,测 ...
分类:
编程语言 时间:
2017-11-18 18:50:22
阅读次数:
198
要理解红黑数,先要了解二叉查找树,二叉查找树(BST)具备什么特性呢? 1.左子树上所有结点的值均小于或等于它的根结点的值。 2.右子树上所有结点的值均大于或等于它的根结点的值。 3.左、右子树也分别为二叉排序树。 下图中这棵树,就是一颗典型的二叉查找树: 1.查看根节点9: 2.由于10 > 9, ...
分类:
其他好文 时间:
2017-11-09 18:36:14
阅读次数:
123
B树 什么是B树? 基本原理 B树是一种查找树,我们知道,这一类树(比如二叉搜索树,红黑树等等)最初生成的目的都是为了解决某种系统中,查找效率低的问题。B树也是如此,它最初启发于二叉搜索树,二叉搜索树的特点是每个非叶节点都只有两个孩子节点。然而这种做法会导致当数据量非常大时,二叉查找树的深度过深,搜 ...
分类:
其他好文 时间:
2017-11-08 17:51:24
阅读次数:
199
当时学过QAQ,无奈早已忘光,只剩一个概念2333 重新捡起来,同时感谢yymxw的指导(才怪) 负责任的粘贴一下网上的概念: Trie树,又称单词查找树或键树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的 ...
分类:
其他好文 时间:
2017-11-03 16:48:06
阅读次数:
160
红黑树是高效查找和插入删除的数据结构,用途很广泛,如epoll的消息注册机制,stl中的map都采用了红黑树。## 红黑树的主要特性:`(1)每个节点或者是黑色,或者是红色。``(2)根节点是黑色。``(3)每个叶子节点(NIL)是黑色。 [注意:这里叶子节点,是指为空的叶子节点!]``(4)如果一 ...
分类:
其他好文 时间:
2017-10-30 18:25:45
阅读次数:
168
这个题要求货车从a到b最大能运多少货物(不能输出-1),那么自然而然的就可以想到最大生成树,这个很好求,重点在于如何快速的查找树上两点间的最大边权,这个时候我们可以运用倍增来解决,因为这两个点都在树上,显然联通它们的路径上有些边是一定要走的,这些边就是它们到最近公共祖先的边,那么答案就在这些边当中, ...
分类:
其他好文 时间:
2017-10-29 15:15:20
阅读次数:
152
题目描述: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 分析: 二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子 ...
分类:
其他好文 时间:
2017-10-29 14:38:57
阅读次数:
96
特别声明: 博文主要是学习过程中的知识整理,以便之后的查阅回顾。部分内容来源于网络(如有摘录未标注请指出)。内容如有差错,也欢迎指正! 一、基本概念(来源于网络) Trie树又称字典树、单词查找树、前缀树等,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字 ...
分类:
其他好文 时间:
2017-10-28 22:09:24
阅读次数:
203
概要 本章先对二叉树的相关理论知识进行介绍,然后给出C语言的详细实现。关于二叉树的学习,需要说明的是:它并不难,不仅不难,而且它非常简单。初次接触树的时候,我也觉得它似乎很难;而之所产生这种感觉主要是由于二叉树有一大堆陌生的概念、性质等内容。而当我真正的实现了二叉树再回过头来看它的相关概念和性质的时 ...
分类:
编程语言 时间:
2017-10-26 13:26:47
阅读次数:
223
二叉查找树在数据结构中学习,但是感觉自己学的非常水,最近在lintCode上做了两道的关于二叉查找树的题,感觉有比较记录下来,就当是增强记忆! 1.二叉查找树I 题意: 样例: 这个是数据结构中的二叉树中非常的常见。这个是典型卡特兰数的样例 (1).卡特兰数 令h(0)=1,h(1)=1,卡特兰数满 ...
分类:
编程语言 时间:
2017-10-20 10:22:29
阅读次数:
230