数据结构之Trie
Trie又名字典树、前缀树。本文从一个需求入手,介绍了Trie的基本概念与结构,最后使用Java编码实现了Trie。
数据结构之哈夫曼树
本文从一个需求入手,介绍了如何构建哈夫曼树,以及如何使用哈夫曼树构建哈夫曼编码。本文只介绍了一些概念,并未进行编码实现。
数据结构之优先级队列
本文作为二叉堆的补充,介绍了优先级队列的实现,也对JDK中的优先级队列源码进行了阅读。
数据结构之二叉堆
本文介绍了二叉堆中的一些基本概念,然后使用Java语言实现了一个二叉最大堆,也实现了Heapify,并解决最开始提出的Top K问题。
数据结构之哈希表
本文基于Java语言,介绍了哈希表中的一些概念,并且动手编写了一个简单的HashMap。除此之外,还介绍了LinkedHashMap、HashSet和LinkedHashSet。
数据结构之集合与映射
本文基于Java语言,介绍了集合与映射的基本概念,并使用以前编写的数据结构实现了集合与映射。
帅气地使用 IDEA
IDEA 是一款十分好用的 Java IDE,而我对它的使用却一直停留在代码补全上。本文意在记录我使用 IDEA 时学到的一些“奇技淫巧”,同时也方便后续查询,为他人提供帮助!
数据结构之红黑树
本文介绍了另一种自平衡二叉搜索树——红黑树,从B树出发,然后回到红黑树,介绍两者之间的等价变换,着重讲解了红黑树的节点添加与删除。
数据结构之“艾薇儿”树
本文从BST的复杂度进行分析并发现其存在的缺陷,顺势引出一种自平衡二叉搜索树——AVL树。AVL树继承至BST,但是在添加、删除之后做了调整,因此重点介绍了AVL树中的旋转。
数据结构之二叉搜索树
本文介绍了使用Java基本实现二叉搜索树的基本接口,并对二叉树的遍历,前驱节点、后驱节点的获取进行了重点介绍。
数据结构之栈与队列
本文介绍了使用Java基本实现栈与队列,重点对队列进行了介绍,并衍生出双端队列、循环队列、循环双端队列。
数据结构之链表
本文介绍了使用Java基本实现单向链表、双向链表、单向循环链表、双向循环链表以及使用循环链表解决约瑟夫问题,最后简单提及静态链表的概念与动态数组的优化思路。