数据结构
7-brain
成长是一篇等待谱写的乐章,等待着我们谱写出一个个扣人心弦的乐符。
展开
-
源码角度详解Java中的优先队列PriorityQueue(堆的实现)
队列是一种先进先出的数据结构。而在优先队列中,元素被赋予优先级。当访问元素时,拥有最高优先级(或者最低)的元素首先被删除。今天我们来了解一下,Java中为我们实现了优先队列的类PriorityQueue。在了解PriorityQueue之前,我们要了解一下我们一种数据结构-堆。堆呢,通常是一个可以被看做一棵完全二叉树的数组对象。除了是一颗完全二叉树,堆还总满足一个条件:堆中某个节点的值总是不大于...原创 2019-02-03 00:39:32 · 2684 阅读 · 1 评论 -
详解二叉搜索树(BST)的Java实现和五种遍历方式
树是一种典型的数据结构。今天我们来了解一下,一种特殊的树,二叉搜索树(BST),二叉搜索树在我们的实际开发过程中应用还是很广泛的,在我们的HashMap中,红黑树(一种特殊的二叉搜索树),是我们解决Hash冲突的一种方式。今天我们来好好了解一下我们的二叉搜索树。1.二叉搜索树的特征:对于树中的每一个节点,它的左子树中的节点值都小于该节点的值,而它的右子树中的节点值都大于该节点值。如下图所示...原创 2019-02-01 00:11:34 · 1703 阅读 · 0 评论 -
HashMap,ArrayMap,SparseArray 源码角度分析,Android中的数据结构你该如何去选择?
引言:Map集合,以key-value形式存储的数据结构,是我们在Android开发过程中经常需要用到的。除了java.util包下,为我们提供的HashMap是我们开发中经常使用的,Android也为我们提供了,两种以key-value形式存储的数据结构,一个是ArrayMap,一个是SparseArray。那么这三种Map集合我在日常的开发过程中该去如何抉择呢。下面让我来从源代码的...原创 2019-01-26 22:04:19 · 1454 阅读 · 1 评论