
数据结构
文章平均质量分 90
LiuY_ang
这个作者很懒,什么都没留下…
展开
-
Trie树
Trie树的基本性质: 1、根节点 不包含任何字符,除根节点之外的任何一个节点都只包含一个 字符 2、从根节点到某一节点,将路径上的字符串连接起来,为该节点所对应的字符串。 3、每个节点的所有子节点包含的字符各不相同。以{“a”, “to”, “tea”, “ted”, “ten”, “i”, “in”, “inn”} 集合构建trieTree树,该树构建完如下所示, 其中在每一个节翻译 2018-03-14 16:38:37 · 240 阅读 · 0 评论 -
堆排序
堆堆是一种数据结构,是完全二叉树在数组中的存储。这棵完全二叉树满足:任何一个非叶节点的值都不大于(或不小于)其左右孩子的节点的值。若父亲的值大,孩子的值小,这样的堆叫做大顶堆;若父亲的值小,孩子的值大,则这样的堆叫做小顶堆。 由堆得定义知道,代表堆得这棵完全二叉树的根节点的值是最大(最小的),然后将找出的这个值交换到序列的最后(最前),这样有序序列元素增加1个,无序序列元素减少1个,对无序序列重复原创 2018-03-21 09:48:39 · 244 阅读 · 0 评论 -
红黑树
红黑树红黑树是一颗二叉搜索树,它在每个结点上增加了一个存储位来表示结点的颜色,可以是RED 或 BLACK。一颗红黑树是满足下面红黑性质的二叉搜索树:性质1:红黑树中的每个结点是红色或是黑色的。性质2:根节点是黑色的。性质3:每个叶结点(NIL,即空结点)是黑色的。性质4:如果一个结点是红色,则它的两个子结点都是黑色的(个人理解,红色结点若有子结点必是黑色的,黑色结点的子节点可以是黑...原创 2018-03-27 11:38:35 · 414 阅读 · 0 评论 -
红黑树-删除操作
从一颗红黑树中删除结点的过程和二叉搜索叔的过程类似。假设删除结点为p,f为其父结点。二叉搜索树(BST)删除结点若p结点为叶子结点,直接删除即可。p结点只有左子树或只有右子树,此时只需要将p删掉,然后将p的子树直接连在原来p的双亲结点f上。p既有左子树又有右子树。先沿着p的左子树根结点的右指针一直往右走,直到来到其右子树的最右边的一个结点r(也可以沿着p的右子树根结点的左指针一直往左走,直到来原创 2018-04-04 22:24:07 · 396 阅读 · 0 评论 -
Java集合框架-Collection接口
Collection接口Collection接口是List、Set和Queue等高度抽象处理的接口,定义了对集合操作的方法。实现Collection接口的集合根据具体的类,可以允许有重复元素(List接口的实现类),也可以没有重复元素(Set接口的实现类)。同样地,有些实现类可以允许null 值(List实现类,Set实现类和HashMap),另外一些不允许null 值(Hashtable)。原创 2018-05-02 20:43:21 · 304 阅读 · 0 评论 -
Java集合框架-List接口
LinkedList简介LinkedList类是继承于AbstractSequentialList的双向链表。LinkedList类实现了List接口,定义对集合的基本(包括与位置有关的操作)。LinkedList类实现了Deque(Double End Queue)接口,可将LinkedList用作双端队列使用。LinkedList实现了Cloneable接口,即覆盖了函数clone...原创 2018-05-03 20:52:21 · 358 阅读 · 0 评论