数据结构逻辑分类

来源:互联网 发布:centos 6.9 安全设置 编辑:程序博客网 时间:2024/06/10 04:37

参考内容:http://blog.csdn.net/bjyfb/article/details/7513505


数据结构的分类:


线性结构有:线性表、栈、队列;线性表分为顺序表和链表;

线性结构的特点如下:


其中栈和队列是个宽泛的概念,在不同的语言中有不同的实现方式,如C++ STL库中的queue容器就是用来实现队列的。


线性表的定义如下:仅通过他们之间的相对位置来确定他们之间的相互关系的线性结构;

顺序表的特点如下:


顺序表的在编程语言中的表现形式一般为数组;顺序表一个大的缺点是它的长度是固定的,当需要扩展空间时,需要将旧元素复制到新的地址空间中,这样会消耗大量的时间;

遍历的时间复杂度低,插入和删除的时间复杂度高。


链表:表中每一个节点都保存有指向下一个节点的指针,串成一条链。特点如下:


插入和删除的时间复杂度低,但是遍历的时间复杂度高。


广义表:传统的线性表中各个元素的类型应该是相同的,但是广义表中的类型可以不同;广义表的元素可以是单元素,也可以是一个链表(或者另外一个广义表)。

参考:http://www.cnblogs.com/Doing-what-I-love/p/5535112.html



0 0