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

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


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


顺序表(长度为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)

相关文章

键树的基本概念 键树又称数字查找树(Digital Search Tree)。 它是一棵度大于等于2的树,树中的每个结...
[TOC] 基本概念 数据: 数据 是对客观事物的符号表示,在计算机科学中指所有能输入到计算机中并被计算机...
[TOC] 反证法 基本概念: 一般地,假设原命题不成立(即 在原命题的条件下,结论不成立),经过正确的推...
最近抽空整理了"数据结构和算法"的相关文章。在整理过程中,对于每种数据结构和算法...
[TOC] 矩阵在计算机图形学、工程计算中占有举足轻重的地位。在数据结构中考虑的是如何用最小的内存空间...
[TOC] 大O表示法:算法的时间复杂度通常用大O符号表述,定义为T[n] = O(f(n))。称函数T(n)以f(n)为界或...