数据结构
qq_31916715
这个作者很懒,什么都没留下…
展开
-
AVL树
在计算机科学中,AVL树是最早被发明的自平衡二叉查找树。在AVL树中,任一节点对应的两棵子树的最大高度差为1,因此它也被称为高度平衡树。查找、插入和删除在平均和最坏情况下的时间复杂度都是{\displaystyle O(\log {n})}O(\log{n})。增加和删除元素的操作则可能需要借由一次或多次树旋转,以实现树的重新平衡。AVL树得名于它的发明者G. M. Adelson-Velsky和Evgenii Landis,他们在1962年的论文《An algorithm for the organiz.原创 2020-06-22 10:12:56 · 14876 阅读 · 0 评论 -
二叉搜索树
二叉查找树(英语:Binary Search Tree),也称为二叉搜索树、有序二叉树(ordered binary tree)或排序二叉树(sorted binary tree),是指一棵空树或者具有下列性质的二叉树: 若任意节点的左子树不空,则左子树上所有节点的值均小于它的根节点的值; 若任意节点的右子树不空,则右子树上所有节点的值均大于或等于它的根节点的值; 任意节点的左、右子树也分别为二叉查找树; 二叉查找树相比于其他数据结构的优势在于查找、插入的时间复杂度较低。为{\displaystyle.原创 2020-06-16 15:21:33 · 14774 阅读 · 0 评论 -
并查集
在计算机科学中,并查集是一种树型的数据结构,用于处理一些不交集(Disjoint Sets)的合并及查询问题。有一个联合-查找算法(union-find algorithm)定义了两个用于此数据结构的操作: Find:确定元素属于哪一个子集。它可以被用来确定两个元素是否属于同一子集。 Union:将两个子集合并成同一个集合。 由于支持这两种操作,一个不相交集也常被称为联合-查找数据结构(union-find data structure)或合并-查找集合(merge-find set)。其他的重要方法.原创 2020-06-08 11:39:45 · 14880 阅读 · 0 评论 -
字典树模板
字典树又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。 import java.util.HashMap; import java.util.Map; public class Trie { private static class Node{ boolean .原创 2020-05-27 15:30:25 · 9716 阅读 · 0 评论 -
循环队列模板(LoopQueue)
@SuppressWarnings("unchecked") public class LoopQueue<E> implements Queue<E> { private E[] data; private int head, tail, size; public LoopQueue(int capacity) { data = (E[]) new Object[capacity]; head = tail = size原创 2020-05-21 15:39:26 · 9694 阅读 · 0 评论 -
二叉索引树模板
二叉索引树(Binary Indexed Tree),又叫树状数组,主要是用于解决动态连续和查询问题。 public class FenwickTree { private final int[] data; public FenwickTree(int size) { data = new int[size + 1]; } public void update(int delta, int idx) { while (idx <.原创 2020-05-17 15:26:18 · 9748 阅读 · 0 评论 -
线段树模板
定义: 线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。 对于线段树中的每一个非叶子节点[a,b],它的左儿子表示的区间为[a,(a+b)/2],右儿子表示的区间为[(a+b)/2+1,b]。因此线段树是平衡二叉树,最后的子节点数目为N,即整个线段区间的长度。 使用线段树可以快速的查找某一个节点在若干条线段中出现的次数,时间复杂度为O(logN)。而未优化的空间复杂度为2N,因此有时需要离散化让空间压缩。 public class Segm原创 2020-05-12 11:25:16 · 9822 阅读 · 0 评论