数据结构
文章平均质量分 79
猴子搬来的救兵Castiel
关注安卓安全与安卓研发
展开
-
线性表数据结构解读(一)顺序存储结构ArrayList
线性表 线性表:零个或多个具有相同类型的数据元素的有限序列。数据元素的个数称为线性表的长度。A=(a1,a2,……ai-1,ai,ai+1,……,an); ● A代表一个线性表 ● ai(1<=i<=n)成为线性表的元素,i为元素的下标,表示该元素在线性表中的位置 ● 线性表中n为表长,其中n>=0 ● 长度等于零时称为空表,通常记为:L=( ) ● 将元素ai-1成为元素a原创 2016-09-27 14:23:24 · 6153 阅读 · 0 评论 -
线性表数据结构解读(三)栈结构Stack
在上一篇文章中,我们详细介绍了链式存储结构,并结合LinkedList源码进行了分析,相关文章大家可以点击这里回看我的博客:线性表数据结构解读(二)链式存储结构LinkedList栈的定义 栈是一种特殊的线性表,其全部操作都被限制在表的固定一端进行,而且构成栈的元素必须是同一数据类型。栈的特点 允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom),不含任何数据元素的栈称原创 2016-09-28 13:32:02 · 3148 阅读 · 2 评论 -
线性表数据结构解读(四)队列结构Queue
在上一篇文章中,我们详细介绍了栈结构,并结合Stack源码进行了分析,相关文章大家可以点击这里回看我的博客:线性表数据结构解读(三)栈结构Stack队列的定义 队列是一种插入和删除分别在两端进行操作的线性表,一端进行插入操作,一端进行删除操作。队列的特点 我们把进入队列端称为队列的对尾,用rear表示;离开队列的一端成为队列的头,用front表示,即在队列的头进行删除操作。满队列原创 2016-09-28 22:24:51 · 2368 阅读 · 0 评论 -
线性表数据结构解读(二)链式存储结构LinkedList
在上一篇文章中,我们详细介绍了线性表数据结构的原理以及顺序存储结构,并结合ArrayList源码进行了分析,相关文章大家可以点击这里回看我的博客:线性表数据结构解读(一)顺序存储结构ArrayList 本篇文章,我将给大家继续解读线性表数据结构,这次我们来谈链式存储结构。链式存储结构链式存储结构是用一组任意的存储单元存储线性表的数据元素,这组存储单元可以是连续的,也可以是不连续的。原创 2016-09-27 16:57:28 · 3833 阅读 · 0 评论 -
HashMap和HashTable的区别
HashMap和HashTable,这二者的区别经常被别人问起,今天在此总结一下。(一)继承的历史不同public class Hashtable extends Dictionary implements Mappublic class HashMap extends AbstractMap implements Map Hashtable是继承自Dictionary类的,而HashMa原创 2016-10-07 11:46:23 · 6201 阅读 · 1 评论 -
线性表数据结构解读(五)哈希表结构-HashMap
前面的博客中,我给大家分析过数组和链表两种线性表数据结构。数组存储区间连续,查找方便,但是插入和删除效率低下;链表存储区间离散,插入删除方便,但是查找困难。大家肯定会问,有没有一种结构,既能做到查找便捷,又能做到插入删除方便呢?答案就是我们今天要跟大家说的主角:哈希表。 我们先来看一下哈希表的百度定义 散列表(Hash table,也叫哈希表),是根据关键码值(Keyvalue)而直接原创 2016-10-07 19:46:22 · 3524 阅读 · 0 评论 -
线性表数据结构解读(六)链式哈希表结构-LinkedHashMap
上一篇文章我和大家一起解读了HashMap的原理源码,各位童鞋可以点击链接查看线性表数据结构解读(五)哈希表结构-HashMap 这次我们一起来看一下LinkedHashMap,它保留插入的顺序,如果需要输出的顺序和输入时的相同,那么就选用LinkedHashMap。就LinkedHashMap而言,它继承了HashMap,底层使用哈希表与双向链表来保存所有元素。其基本操作与父类HashM原创 2016-10-08 11:00:11 · 3539 阅读 · 0 评论