数据结构-线性表
来源:互联网 发布:边际递减效应爱情知乎 编辑:程序博客网 时间:2024/06/09 18:38
线性表(Linear List)又称有序表(Ordered List),是数学概念在计算机科学中的一种最基本和简单的数据结构。简单地说,线性表是n个元素的有限序列(n>=0),如26个英文字母组成的字母表;十个阿拉伯数字组成的数列;这些都是线性表。由此可见,线性表的元素可以是任何一种数据类型,但是同一数据表的数据类型必须一致。
线性表中,除了第一个元素a(1)外,任何元素都有唯一的前驱(precessor);除了最后一个元素a(n)外,任何元素都有唯一的后继(successor)。
按照在计算机中内存存储的方式,线性表分为:顺序存储和链式存储。
顺序存储(静态数据结构)
它是一种将有序列表的数据使用连续分配空间进行存储的方式,也就是说顺序存储中两个相邻元素在内存中也是相邻的,这是顺序存储区别于链式存储的根本原因。数组类型就是典型的顺序存储方式。优点是查询的时间复杂度为O(1),通过首地址和偏移量就可以直接访问到某元素。缺点是插入和删除的时间复杂度最坏能达到O(n),如在第一个位置插入一个元素,你需要把数组的每一个元素向后移动一位,删除元素以此类推。另外,顺序存储中,内存在编译时就要分配给相关的变量。因此数组在建立初期,必须事先声明最大可能的固定存储空间,势必造成内存的浪费。链式存储(动态数据结构)
它是一种将有序列表的数据使用不连续存储空间来存储的方式。例如指针就是典型的链式存储,每一个元素都有一个指针域,指针域存储到下一个元素的指针。链表也是典型的链式存储方式。链式存储的动态存储特点使得它具有和顺序存储截然相反的优缺点。优点是插入和删除元素的时间复杂度为O(1),不会移动大量数据。动态结构的内存分配在执行时才发生,不需要事先声明,能够充分节省内存。缺点是访问的时间复杂度最坏为O(n),关于查找的算法很少,一般只能遍历。
总之,顺序存储和链式存储各有优缺点,要根据实际情况选取存储方式。
- 数据结构拾遗---线性表
- 整理--数据结构--线性表
- 数据结构(线性表)
- 整理--数据结构--线性表
- 数据结构--顺序线性表
- 数据结构之线性表
- 数据结构-线性链表
- 数据结构-线性表
- 复习 [数据结构] ---- 线性表
- 数据结构---线性表
- 数据结构复习-线性表
- 数据结构之线性表
- 数据结构之线性表
- 线性链表---数据结构
- 数据结构—线性表
- 数据结构 线性表
- 数据结构----线性表
- 数据结构之线性表
- 1054. The Dominant Color (20)
- 使用Hadoop Streaming Image进行图像分类 classification with Hadoop Streaming
- ssl例6(未完成)
- Easy-题目43:190. Reverse Bits
- 【HDU】 1397 Goldbach's Conjecture
- 数据结构-线性表
- maven整合spring+springMvc+Mybatis+Mysql
- 让爬虫更加友好
- C++生成随机数
- Easy-题目44:19. Remove Nth Node From End of List
- 客户端调用服务端接口减少请求数据容量的优化例子
- 安卓小案例收集二
- poj1984 Navigation Nightmare(带权并查集)
- [bzoj2818]gcd