![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
底层实现数据结构
ChanYipFan
这个作者很懒,什么都没留下…
展开
-
底层实现数据结构:集合 Set、映射 Map
集合就是承载元素的容器,每个元素只能存在一次。在应用时能帮助我们非常快速地进行去重工作,即每个元素只有一个。因为二分搜索树不能盛放重复元素,所以用其来进行底层实现。...原创 2019-03-31 22:29:07 · 386 阅读 · 0 评论 -
底层实现数据结构:红黑树
学习某个知识(比如红黑树),一上来就扔给你5个定义(就算算法导论那样),告诉你这就是红黑树,然后又从这5个定义推出更多定义。其实这会让学习者很难理解到底什么是红黑树的,这样最大的问题就在于没有介绍清楚这个红黑树是从哪来的,我们为什么要把节点定义成红色或黑色。2-3树插入元素:一个原则: 添加节点将永远不会添加到一个空的位置(和二叉搜索树不同)、只会和最后找到的叶子节点做融合:...原创 2019-04-18 10:19:09 · 989 阅读 · 1 评论 -
底层实现数据结构:平衡二叉树(AVL)
实现自平衡的树结构原创 2019-04-17 19:35:00 · 637 阅读 · 0 评论 -
底层实现数据结构:线段树
public class SegmentTree<E> { //操作的方式: 求和 | 查询最大值 | 最小值 //这个Merger和compareTO类型差不多 private interface Merger<E>{ E merge(E a,E b); } private E[] tree; pri...原创 2019-04-14 09:57:12 · 157 阅读 · 0 评论 -
底层实现数据结构:堆 Heap、优先队列
//import jdk.internal.org.objectweb.asm.tree.IincInsnNode;public class MaxHeap<E extends Comparable<E>> { private Array<E> data; //构造函数 public MaxHeap(int capacity) {...原创 2019-04-14 09:56:26 · 450 阅读 · 0 评论 -
底层实现数据结构:并查集(Union Find)
若问题的数据的合并和查询是交替进行的,是一个动态的过程,这时候用并查集最好原创 2019-04-16 21:28:52 · 259 阅读 · 0 评论 -
底层实现数据结构:字典树(前缀树)
208. 实现 Trie (前缀树)class Trie { public class Node{ private boolean isWord; private TreeMap<Character, Node> next; public Node(boolean isW...原创 2019-04-16 15:42:50 · 279 阅读 · 0 评论 -
底层实现数据结构:动态数组、链表、栈、队列
public class LinkedList<E> { private class Node { //内部类 public E e; public Node next; public Node(E e, Node next) { this.e = e; this....原创 2019-04-12 22:29:42 · 391 阅读 · 0 评论 -
底层实现数据结构:二分搜索树 BST
import java.util.Queue;import java.util.Stack;import java.util.LinkedList;public class BST<E extends Comparable<E>> { //二分搜索树并不支持所有类型,所以限制它,让它具有可比较性 private class Node{ p...原创 2019-03-31 19:40:23 · 217 阅读 · 0 评论 -
底层实现数据结构:哈希表
建哈希表时要解决两个问题,索引如何设计以及解决哈希冲突(即由键转换的索引与之前的相同)原创 2019-04-18 18:35:24 · 2883 阅读 · 0 评论