![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
白日梦想家1108
这个作者很懒,什么都没留下…
展开
-
平衡二叉树
性质:对任意一个节点,左子树和右子树高度差不能超过1是二分搜索树高度:左右子树中最高的树+1平衡因子:对每个节点而言,其左右子树的高度差右旋转(LL) ① ...原创 2019-04-25 19:10:08 · 99 阅读 · 0 评论 -
红黑树与2-3树
2-3树性质:满足二分搜索树基本性质;节点可以存放一个元素或者两个元素;是一棵绝对平衡的树; 二节点 三节点对2-3树来说,添加节点一定不会添加到空的位置 ...原创 2019-04-26 17:50:14 · 111 阅读 · 0 评论 -
二叉树与二分搜索树
性质:具有唯一的根节点每个节点最多有两个孩子二叉树每个孩子最多有一个父亲具有天然递归结构——每个节点左右孩子也是二叉树满二叉树:除了叶子结点,每个节点都有两个孩子。二叉树不一定“满”的一个节点也是二叉树NULL也是二叉树二分搜索树(Binary Search Tree)性质:是二叉树每个节点的值: 大于其左子树...原创 2019-04-25 11:43:35 · 125 阅读 · 0 评论 -
堆
二叉堆性质:是完全二叉树(缺失的节点在整棵树的右下侧,换言之,即把元素顺序排列成树的形状)堆中某个节点的值总是不大于其父节点的值(最大堆)注意:节点大小和节点所处层次间没有必然联系public class MaxHeap<E extends Comparable<E>> { //最大堆:满足1、完全二叉树 2、父节点大于其孩...原创 2019-04-25 14:56:13 · 63 阅读 · 0 评论 -
线段树
性质:是平衡二叉树public class SegmentTree<E> { private E[] tree; private E[] data; private Merge<E> merge; public SegmentTree(E[]arr, Merge<E> merge){ this...原创 2019-04-25 15:17:31 · 66 阅读 · 0 评论 -
数组
数组优势:查询快简单的时间复杂度分析在各种不同的算法中,若算法语句的执行次数为常数,则算法的时间复杂度为O(1),按数量级递增排列,常见的时间复杂度量有:(1)O(1):常量阶,运行时间为常量(2)O(logn):对数阶,如二分搜索算法(3)O(n):线性阶,如n个数内找最大值(4)O(nlogn):对数阶,如快速排序算法(5)O(n^2):平方阶,如选择排序...原创 2019-04-25 15:39:24 · 129 阅读 · 0 评论 -
字典树
性质:时间复杂度为O(w);w为查询单词的长度import java.util.TreeMap;public class Trie { private class Node{ public boolean isWord; public TreeMap<Character, Node> next; public ...原创 2019-04-25 15:49:05 · 74 阅读 · 0 评论