JoeVess's Blog


  • 首页

  • 分类

  • 归档

  • 标签

  • 关于

  • 搜索

链式存储结构之LinkedList源码分析

发表于 2017-08-18 | 更新于 2017-08-19 | 分类于 数据结构与算法 | 阅读次数

链式存储结构之LinkedList源码分析

链式存储结构是用一组任意的存储单元存储线性表的数据元素,这组存储单元可以是连续的,也可以是不连续的。

  • 为了表示每个数据元素a(i)和其直接后继数据元素a(i+1)之间的逻辑关系,对数据元素a(i)来说,除了存储其本身的信息外,还需存储一个指示其直接后继的信息(即直接后继的存储位置)。
  • 我们把存储数据元素信息的域称为数据域,把存储直接后继位的域称为指针域。
  • 指针域中存储的信息称做指针或链。这两部分信息组成数据元素a(i)的存储映像,称为结点。
  • 链表中第一个结点的存储位置叫做头指针。
  • 链表的最后一个结点指针为”空”(通常用NULL或^符号表示)

1. 链式存储结构的优缺点

优:删除和插入效率高
缺:查询效率低

2. 链表的分类

  • 单链表

    n个结点链成一个链表,此链表的每个结点中只包含一个指针域

静态链表:静态链表其实是为了给没有指针的高级语言设计的一种实现单链表能力的方法。
  • 循环链表

    将单链表中终端结点的指针端由空指针改为指向头结点,就使整个单链表形成了一个环,这种首尾相接单单链表称为单循环链表,简称循环链表

  • 双向循环链表

    双向链表是在单向循环链表的每个结点中,再设置一个指向其前驱结点的指针域。

在Java中,我们常见具有代表性的链式存储结构有很多,这里我们以LinkedList为例,进行分析,看看它内部是如何实现链式存储结构的。

阅读全文 »

顺序存储结构之ArrayList源码分析

发表于 2017-08-18 | 更新于 2017-08-18 | 分类于 数据结构与算法 | 阅读次数

顺序存储结构之ArrayList源码分析

  • 顺序存储结构的优缺点

优点:查询很快
缺点:插入和删除效率慢

在Java中,我们常见具有代表性的顺序存储结构有很多,这里我们以ArrayList为例,进行分析,看看它内部是如何实现顺序存储结构的。

阅读全文 »

数据结构

发表于 2017-08-17 | 更新于 2017-08-17 | 分类于 技术 | 阅读次数

数据结构

数据之间相互存在的一种或多种特定的关系的元素的集合

  1. 逻辑结构




阅读全文 »

博客搭建

发表于 2017-08-17 | 更新于 2017-08-17 | 分类于 记录 | 阅读次数

前言

使用Hexo在GitHub上搭建个人博客

阅读全文 »
JoeVess

JoeVess

形随心动 不惧 欢喜

4 日志
3 分类
5 标签
RSS
GitHub QQ
© 2017 JoeVess
由 Hexo 强力驱动
主题 - NexT.Pisces
0%