1、 概述 二叉查找树(Binary Search Tree,也叫二叉排序树,即Binary Sort Tree)能够支持多种动态集合操作,它可以用来表示有序集合、建立索引等,因而在实际应用中,二叉排序树是一种非常重要的数据结构。 从算法复杂度角度考虑,我们知道,作用于二叉查找树上的基本操作(如查找 ...
分类:
其他好文 时间:
2017-06-13 16:52:04
阅读次数:
239
平衡二叉树是久闻大名了,但是因为其操作的繁琐以及存在更好的替代品所以没怎么接触(事实上是退队了以后就没怎么刷题 正巧这次期末考试就要考这个,那正好详细梳理一下知识: 平衡二叉树,其并没有字面上的那么平衡,其平衡程度能容忍任意节点的左子树高度与右子树高度的差之绝对值不超过1,为了理解方便,我们设定每个 ...
分类:
其他好文 时间:
2017-06-12 19:56:26
阅读次数:
165
定义:又称字典树,单词查找树或者前缀树,是一种用于高速检索的多叉树结构。 如英文字母的字典树是一个26叉树,数字的字典树是一个10叉树。 核心思想:是空间换时间.利用字符串的公共前缀来减少查询时间的开销以达到提高效率的目的。 三个基本性质: 1. 根结点不包括字符,除根结点外每个结点都仅仅包括一个字 ...
分类:
其他好文 时间:
2017-06-12 18:11:40
阅读次数:
245
在计算机科学中,二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。 二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。二叉树的第i ...
分类:
其他好文 时间:
2017-06-10 23:39:09
阅读次数:
368
1 java基础: 1.1 算法 1.1 排序算法:直接插入排序、希尔排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序、基数排序 1.2 二叉查找树、红黑树、B树、B+树、LSM树(分别有对应的应用,数据库、HBase) 1.3 BitSet解决数据重复和是否存在等问题 1.2 基本 2.1 ...
分类:
编程语言 时间:
2017-06-08 14:57:42
阅读次数:
296
原题链接: http://oj.leetcode.com/problems/unique-binary-search-trees-ii/ 这道题是求解全部可行的二叉查找树,从Unique Binary Search Trees中我们已经知道,可行的二叉查找树的数量是对应的卡特兰数,不是一个多项式时间 ...
分类:
其他好文 时间:
2017-06-08 13:12:29
阅读次数:
149
一、2-3查找树 二叉查找树可以使用于大多数应用场景,但是最坏情况下性能太差。 本节将介绍一种二分查找树,它的运行时间可以保证在对数级别内。 1、定义 这里引进3-节点的概念,3-节点含有两个键和三个链接。 2-节点是标准二叉查找树中的节点,含有一个键和两个链接。 Definition. A 2-3 ...
分类:
其他好文 时间:
2017-06-07 00:54:57
阅读次数:
255
1、序 具体实现了二叉查找树的各种操作:插入结点、构造二叉树、删除结点、查找、 查找最大值、查找最小值、查找指定结点的前驱和后继 2、二叉查找树简单介绍 它或者是一棵空树;或者是具有下列性质的二叉树: (1)若左子树不空,则左子树上全部结点的值均小于它的根结点的值。 (2)若右子树不空。则右子树上全 ...
分类:
编程语言 时间:
2017-06-06 20:51:46
阅读次数:
265
字典树又称单词查找树,Trie树。是一种树形结构,是一种哈希树的变种。典型应用是用于统计。排序和保存大量的字符串(但不仅限于字符串),所以常常被搜索引擎系统用于文本词频统计。它的长处是:利用字符串的公共前缀来降低查询时间,最大限度地降低无谓的字符串比較。查询效率比哈希树高。 它有3个基本性质: 1. ...
分类:
其他好文 时间:
2017-06-04 10:49:40
阅读次数:
128
题目: Given n, how many structurally unique BST's (binary search trees) that store values 1...n? For example, Given n = 3, there are a total of 5 unique ...
分类:
编程语言 时间:
2017-06-03 11:30:34
阅读次数:
247