数据结构--线性表总结

来源:互联网 发布:linux服务器防御 编辑:程序博客网 时间:2024/05/16 20:55

线性表:

线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的。

1.顺序表:(线性表的顺序存储)

用一组连续的存储单元依次存储数据元素

优点:1.方法简单,容易实现

    2.实现高效的随机访问

    3.存储密度大,不需要为逻辑关系增加额外的存储空间

缺点:1.插入删除操作时,需要移动大量的元素,效率低

    2.占用空间固定,使用前需要估计空间大小,在程序运行期间不易扩展。

适用:适用于需要大量随机访问元素,而少量增删元素的程序

 

2.链表:(线性表的链式存储)

用一组非连续的存储单元存储数据元素,数据元素之间用指针连接

优点:1.实现高效的插入删除操作

     2.采用动态存储分配,不会造成内存浪费,在程序运行期间易扩展

缺点:1.有些语言中,不支持指针,不容易实现

             2.不支持随机访问,查找时要从头指针开始遍历,效率低

    3.需要额外空间来表示结点关系,存储密度小

适用:需要大量增删元素,而少量查找的程序


栈:

只能在表尾进行插入删除元素的线性表。又称后进先出表(LIFO),是一种操作受限制的线性表

既可以使用链表实现,又可以用顺序表来实现

使用:1.括号匹配

    2.后缀表达式

            3.函数调用


队列:

只允许在表的前端进行删除操作,在表的后端进行插入操作。又称先进先出表(FIFO),队列是一种操作受限制的线性表

同样既可以使用链表实现,又可以用顺序表来实现


0 0
原创粉丝点击