【数据结构】---线性表

线性表是数据结构中最简单、最基本和最重要的结构形式之一,前来总结一下,先上思维导图:


主要是线性表的两种存储结构,分别形成了顺序表和链表,这两种存储结构各有其优缺点,不再重复介绍,下面详细介绍少这两种存储结构下的常用操作及其算法的时间复杂度。


顺序表(长度为n)

操作

时间复杂度

第i个位置插入新数据元素item

O(n)

删除第i个位置元素

O(n)

确定元素item在线性表中的位置

O(n)

删除表中重复出现的元素

O(n^2)

对表中元素排序

O(n^2



链表:


操作

时间复杂度

建立一个线性链表

O(n)

求链表的长度

O(n)

判断链表是否为空

O(1)

确定元素item在线性链表中的位置

O(n)

非空链表第1个链结点前插入item

O(1)

非空链表末尾插入item

O(n)

由具体指针p所指链节点后插入item

O(1)

按值有序链接的表中插入item

O(n)

删除链表中值为item的所有链结点

O(n)

连接两个非空链表(连接到长度为n的后面)

O(n)

复制一个线性链表

O(n)

相关文章

【啊哈!算法】算法3:最常用的排序——快速排序       ...
匿名组 这里可能用到几个不同的分组构造。通过括号内围绕的正...
选择排序:从数组的起始位置处开始,把第一个元素与数组中其...
public struct Pqitem { public int priority; ...
在编写正则表达式的时候,经常会向要向正则表达式添加数量型...
来自:http://blog.csdn.net/morewindows/article/details/6...