线性表

文章目录

  • 数组
  • 链表
  • 数组和链表特点
  • 线性表
  • 思考

数组

定义:存储具有相同数据类型元素的集合。

线性表_第1张图片


链表

定义:链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。

线性表_第2张图片

链表还有多重链表,这里先不说多重链表

数组和链表特点

  • 因为CPU缓存会读入一段连续的内存,顺序存储符合连续的内存,所以顺序存储可以被缓存处理,而链接存储并不是连续的,分散在堆中,所以只能内存去处理。所以数组查询比链表要快。(缓存快于内存),一般是查询在修改
  • 数组大小固定,插入和删除都需要移动元素,链表可以动态扩充节点,插入删除不需要移动元素,只需要更改元素中的指针。所以链表的插入删除比数组效率高。

线性表

定义:是最基本,最简单,最常见的一种数据结构,一个线性表有n个相同特性数据元素的有限序列。

	线性表一般使用数组和链表实现

线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的(注意,这句话只适用大部分线性表,而不是全部。比如,循环链表逻辑层次上也是一种线性表(存储层次上属于链式存储,但是把最后一个数据元素的尾指针指向了首位结点)。

线性表_第3张图片

图就是对上面的演示

思考

线性表_第4张图片

	常见的我们的开发软件中已经写好了这些操作,那我们能否自己尝试写一下这些方法(函数)

你可能感兴趣的:(数据结构)