数据结构一之初识

一丶数据结构基本概念

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

1-1丶按照逻辑结构上分,数据对象中数据元素之间的相互关系可以分为以下四种关系:

  • 1.图形结构


    图形结构
  • 2.树形结构


    树形结构
  • 3.线性结构


    线性结构
  • 4.集合结构


    集合结构

1-2丶按照物理结构(逻辑结构)上分,数据对象中数据元素之间的相互关系可以分为以下两种种关系:

  • 1.顺序存储结构


    顺序存储结构
  • 2.链式存储结构


    链式存储结构

二丶抽象数据类型

数据类型:一组性质相同的值的集合以及定义在此集合上的一些操作的总称。
抽象数据类型:一个数字模型以及定义在该模型上的一组操作。

2-1丶线性表

线性表

其中,a1是a2的前驱,(ai+1)是(ai)的后继,a1没有前驱,an没有后继。

2-1-1丶顺序存储线性表

特点:查询很快,但是插入和删除效率低。


顺序存储线性表
2-1-2丶链式存储线性表

线性表的链式存储结构的特点是用一组任意的存储单元存储线性表的数据元素,这组存储单元可以是连续的也可以是不连续的。为了表示每个数据元素Ai与其后继数据元素Ai+1之间的逻辑关系,对数据元素Ai来说,除了存储其本身的数据信息以外,还需要存储一个指示其后继的信息,如图所示:

链式存储线性表图片1
链式存储线性表图片2
链式存储线性表图片3
链式存储线性表图片4

由上图可得知,链式存储结构的线性表特点是:查询效率低,但是插入和删除效率高。

2-2丶循环链表

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

循环链表

2-3丶双向循环链表

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


双向循环链表

双向循环链表的插入


双向循环链表的插入

双向循环链表的删除


双向循环链表的删除

你可能感兴趣的:(数据结构一之初识)