[数据结构笔记-线性表]

来源:互联网 发布:js如何转换日期格式 编辑:程序博客网 时间:2024/06/04 18:26

一,顺序存储方式

1,线性表:同一类型的数据元素组成的有限序列。

2,线性表的顺序存储方式(即顺序表):各个元素存储在连续的地址上。已知一个元素地址后,可以确定任一元素的地址。在程序设计语言中通常用一维数组表示。

3,相关算法:

插入元素,删除元素,定位元素,需要平均移动元素n/2次,时间复杂度O(n)。

随机读取和修改元素可直接操作,无时间复杂度。

4,优点:没有关系指针,因此比较节省存储空间;随机存取元素速度快。

缺点:插入,删除速度慢;存储空间只能预先静态分配,不能动态扩展。

二,链式存储方式。

1,链表:逻辑上相邻的元素,物理上不要求相邻。分为单向链表,双向链表,循环链表。

2,组成:节点组成,每个节点含数据域和指针域。为了方便,通常引入头节点。

3,算法:获取元素,增加元素,删除元素的时间复杂度为O(n).

4,双向链表和单向链表基本操作的实现类似,只是注意调节指针指向的区别。

5,优点:可以动态分配存储空间。

缺点:需要额外存储空间存放指针;随机存取慢,插入和删除也不快。


三,数组

1,数组是一种线性表。支持高效随机存取。

2,二维数组在计算机中主要有行序和列序存储形式。常用行序。

四,特殊矩阵的压缩存储。






0 0
原创粉丝点击