数据结构之线性表(一)

说明:笔记只作为个人随笔,方便记忆。

1.什么是线性表?

定义:一个线性表是n个数据元素的有限序列。

特征:(1)元素个数n成为表长,n=0时代表空表;(2)元素属于同一数据对象;

(3)ai的直接前驱是ai-1,直接后继是ai+1,a1没有直接前驱,an没有直接后继。

2.线性表的顺序存储(SqList)

最简单的一种顺序映像方法是:令y的存储位置和x的存储位置相邻。

顺序表:用一组地址连续的存储单元依次存放线性表中的数据元素。

基地址:a1,又称为起始地址。

所有数据元素的存储位置均取决于第一个数据元素的存储位置

LOC(ai)=LOC(a1)+(i-1)*C;

优点:随机存取;;

缺点:插入删除操作需要移动较多的数据元素。

3.线性表的链式存储(LinkList)

(1)单链表:用一组地址任意的存储单元存放线性表中的数据元素。

元素+指针=结点;

以结点的序列表示线性表称作为链表。

以线性表中第一个数据元素a1的存储地址作为线性表的地址,称作线性表的头指针;

有时会在第一个结点之前虚加一个“头结点”,以指向头结点的指针为链表的头指针。

单链表是一种顺序存取的结构。

头插法:由表头插入,得到的是逆序;

尾插法:由表尾插入,得到的是正序。

(2)双向链表:除了数据元素还有一个指向前驱的指针,和一个指向后继的指针。

(3)循环链表:最后一个结点的指针域的指针又指回第一个结点的链表。

(4)双向循环链表:将双向链表和循环链表的特点结合。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、数据结构相关名词解释 数据 数据(data)是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符...
    猿媛阅读 1,091评论 0 7
  • 线性表是数据结构中最简单的基本数据结构。线性表的使用和维护都很简单,这一特点使其成为很多算法的基础。数组、链表、栈...
    JunChow520阅读 1,369评论 1 4
  • 基本概念 定义:零个或者多个数据元素的有限序列,在复杂的线性表中,一个数据元素可以由若干个数据项组成。 直接前驱元...
    31627a633847阅读 584评论 0 2
  • 基础概念 数据结构的分类 在数据结构中,按照不同的角度,数据结构分为逻辑结构和物理结构(存储结构)。 逻辑结构:指...
    IAM四十二阅读 1,137评论 2 5
  • 完整代码需结合前面一篇顺序表数据结构学习-线性表之顺序表各种操作网易云课堂小甲鱼课程链接:数据结构与算法 线性表的...
    NotFunGuy阅读 9,304评论 0 9