首页 > 其他分享 >数据结构线性表之顺序表

数据结构线性表之顺序表

时间:2024-01-03 23:32:14浏览次数:37  
标签:顺序 线性表 元素 个数 表头 表中 数据结构 顺序存储

定义:

一个线性表是由同类型数据元素构成的有限序列

一般地,当表示一个由n(n>=0)个元素组成的线性表L时,将线性表中的所有元素列在一对括号中,每个元素之间以逗号分隔,如

L=(a0,a1,....,an-1)

不搞的像数据那么麻烦了,按我理解的来

表项:线性表中的数据元素

表头元素:线性表的第一个元素

表尾元素:线性表的最后一个元素

表长:线性表中的元素个数

空表:表中无元素

直接前驱:当前元素的前一个元素(表头没有前驱)

直接后继:当前元素的后一个元素(表尾没有后继)

不得不说,起的名是真花,飞机上挂暖瓶-高水平呀,自愧不如


线性表分为有序表和无序表

特点:

  1. 各元素属于同一个类型
  2. 元素个数有限的
  3. 各元素之间不一定有大小关系,但一定有次序关系

顺序表(Java中的ArrayList)

顺序存储的基本思想:使用一组连续的存储单元依次存储各个元素


特点:数组是内存中一片连续的空间,相邻的两个单元在内存中的实际地址也是相邻的,线性表中逻辑上相邻的两个元素,其存储地址也是相邻的


优势:使用顺序存储结构保存线性表非常方便,因为可以通过下标来访问数组元素,即可以实现对表中元素的随机访问,这是顺序存储结构的。


不足:在顺序表中实现插入和删除时,可能需要移动元素。如果插入和删除的位置靠近表头位置,则移动的元素个数偏多。当有频繁的插入、删除操作时,元素的移动也会很频繁,操作效率较低。有可能会因为表中元素个数过多而导致数据空间不足,也可能会因为表中元素个数较少而导致数组中的很多位置是空置的。


线性表的空间复杂度和移动次数还没看懂,等俺看懂了,再给大家解释,敬请期待!!!



今天先到这,睡个好觉,晚安



标签:顺序,线性表,元素,个数,表头,表中,数据结构,顺序存储
From: https://blog.51cto.com/AmbitionGarden/9090348

相关文章

  • 刷题笔记——顺序表(C++)
    665.非递减数列-力扣(LeetCode)给你一个长度为 n 的整数数组 nums ,请你判断在 最多 改变 1 个元素的情况下,该数组能否变成一个非递减数列。我们是这样定义一个非递减数列的: 对于数组中任意的 i (0<=i<=n-2),总满足 nums[i]<=nums[i+1]。解题思路遍历数组,计算递......
  • Redis 底层数据结构
    在Redis数据结构和对象机制中提到的图中,我们知道,可以通过redisObject对象的type和encoding属性。可以决定Redis主要的底层数据结构:SDS、QuickList、ZipList、HashTable、IntSet、ZskipList。一、简单动态字符串(SDS)先来看看传统的C语言如何存储字符串的:比如一个"Redis"......
  • 数据结构简介之算法
    时间复杂度算法的时间复杂度_算法时间复杂度-CSDN博客时间复杂度可以参考这篇文章超级详细!!!为什么不使用算法的绝对运行时间来衡量算法的时间效率?同一个算法处理不同数量的数据时,所花的绝对运行时间可能不同。同一个算法处理相同数量的数据时,在不同配置的电脑上的绝对运行时间也可能......
  • 数据结构简介
    什么是数据?数据是指所有能输入计算机并被计算机程序处理的符号的集合。源程序、文档、地图、照片其实都是数据。数据结构数据结构分为逻辑结构和物理结构。逻辑结构:主要是数据元素之间的逻辑关系,物理结构指的是数据结构在计算机种的表示及存储方式。逻辑结构包含集合、线性结构、树......
  • 做题记录:数据结构 I
    标*的题目是个人认为质量较高或比较符合个人喜好的题目。*I.P5278算术天才⑨与等差数列尝试寻找一个序列满足为等差数列的充分必要条件。显然需要有\(\max-\min=(r-l)k\)。直接要求等差的话,信息不好合并。但等差的限制有一个必要条件是,差分序列的\(\gcd\)为\(k......
  • 【数据结构】详细剖析线性表
    顺序表与链表的比较导言大家好,很高兴又和大家见面啦!!!经过这段时间的学习与分享,想必大家跟我一样都已经对线性表的相关内容比较熟悉了。为了更好的巩固线性表相关的知识点,下面我们一起将线性表这个章节的内容梳理一遍吧。一、线性表线性表的相关概念线性表时具有相同数据类型的个数据......
  • 2023 408数据结构总结
    持续更新完善中。一、线性表顺序存储的有序表非空双向链表时间复杂度二、栈、队列和数组稀疏矩阵3三元组:(行、列、值)表示矩阵非0元素三、树与二叉树二叉树二叉树的遍历5先序遍历NLR(根左右)中序遍历LNR后序遍历LRN==【题目】==树与二叉树的应用4哈弗曼编码的加......
  • Jmter:setUp线程组和tearDown线程组及线程组间的执行顺序
    一前言环境:window10Jmeter5.3在jmeter中新建线程组时,有三种可选项,如下其中,setUp和tearDown线程组用的没有普通线程组那样频繁,但也有特别的用处二setUp线程组如上,setUp线程组中的字段配置与普通线程组是一样的,区别是setUp线程组一定是在普通线程组执行前运行利用setUp......
  • 【数据结构】链式家族的成员——循环链表与静态链表
    循环链表与静态链表导言大家好!很高兴又和大家见面啦!!!经过前面的介绍,相信大家对链式家族的成员——单链表与双链表的相关内容都已经熟练掌握了。前面我们重点介绍了通过C语言来实现单链表与双链表的一些基本操作,希望大家私下能够多多练习一下,帮助自己去吸收消化这些内容。在今天的篇......
  • 数据结构应用之桶排序
    问:有10G的订单数据,希望订单金额(假设都是正整数)进行排序,但我们内存有限,只有几百MB,如何进行排序?答:因内存有限,需要排序的数据量巨大,所以,此时需要外部排序,外部排序采用的是一种分治思想,外部排序最常用的是多路归并排序,即将大数据切成多份一次可以载入内存的小数据,对小数据进行内......