第二讲-线性表

第二讲

什么是线性表

由同类型数据元素构成的有序序列结构。线性表可以用顺序存储结构,也可以使用链式存储结构。
链式结构的插入删除复杂度低,顺序存储随机访问更快,并且在很多收顺序存储的空间利用率比较低,浪费内存空间

什么是广义表

广义表是相对线性表而言的,线性表的元素是数据元素,而广义表的元素可能还是一个线性表。

例子:十字列表存储矩阵。

线性表:堆栈

例子:算术表达式的计算,后缀表达式。

堆栈操作:

  • 只能从一端添加/删除数据。(入栈/出栈)
  • 遵循后入先出

一个注意的点:堆栈用单向列表(链式结构存储),选用表头作为入栈出栈端口。

应用:函数的递归,深度优先搜索,回溯算法。

线性表:队列

例子:

队列操作:

  • 只能在一端增加,在另一端删除。
  • 遵循先进先出。

同样在链式队列中,怎么选择队头和队尾。


你可能感兴趣的:(第二讲-线性表)