【排序算法】冒泡、选择和堆排序
本文作为算法的开篇,讲述了十大排序算法中的冒泡排序、选择排序和堆排序,并对它们的复杂度、效率、优化进行了介绍。
数据结构之总结与补充
本文作为数据结构的完结篇,先对学习过的数据结构进行了总结,并绘制思维脑图,然后对一些内容进行了补充,比如:四则运算与表达式树、非递归遍历二叉树等。
数据结构之Trie
Trie 又名字典树、前缀树。本文从一个需求入手,介绍了 Trie 的基本概念与结构,并实现了 Trie。
数据结构之哈夫曼树
本文从一个需求入手,介绍了如何构建哈夫曼树,以及如何使用哈夫曼树构建哈夫曼编码。本文只介绍了一些概念,并未进行编码实现。
数据结构之优先级队列
本文作为二叉堆的补充,介绍了优先级队列的实现,也对JDK中的优先级队列源码进行了阅读。
数据结构之二叉堆
本文介绍了二叉堆中的一些基本概念,然后使用Java语言实现了一个二叉最大堆,也实现了Heapify,并解决最开始提出的Top K问题。
数据结构之哈希表
本文基于Java语言,介绍了哈希表中的一些概念,并且动手编写了一个简单的HashMap。除此之外,还介绍了LinkedHashMap、HashSet和LinkedHashSet。
数据结构之集合与映射
本文基于Java语言,介绍了集合与映射的基本概念,并使用以前编写的数据结构实现了集合与映射。
帅气地使用 IDEA
IDEA 是一款十分好用的 Java IDE,而我对它的使用却一直停留在代码补全上。本文意在记录我使用 IDEA 时学到的一些“奇技淫巧”,同时也方便后续查询,为他人提供帮助!
数据结构之红黑树
本文介绍了另一种自平衡二叉搜索树——红黑树,从B树出发,然后回到红黑树,介绍两者之间的等价变换,着重讲解了红黑树的节点添加与删除。