精华内容
下载资源
问答
  • 数据结构随机存取
    千次阅读
    2021-07-12 19:08:08

    随机存取、顺序存取、随机存储和顺序存储这四个概念是完全不一样的,切不可将之混淆

    很多人包括我可能认为随机存取就是随机存储,顺序存取就是顺序存取,其实不是这样。

    下面完整的介绍一下这4个概念

    存取结构:分为随机存取和非随机存取(又称顺序存取)

    1、随机存取就是直接存取,可以通过下标直接访问的那种数据结构,与存储位置无关,例如数组。非随机存取

    就是顺序存取了,不能通过下标访问了,只能按照存储顺序存取,与存储位置有关,例如链表。

    2、顺序存取就是存取第N个数据时,必须先访问前(N-1)个数据 (list),随机存取就是存取第N个数据时,

    不需要访问前(N-1)个数据,直接就可以对第N个数据操作 (array)。

    存储结构:分为顺序存储和随机存储

    1.顺序存储结构

    在计算机中用一组地址连续的存储单元依次存储线性表的各个数据元素,称作线性表的顺序存储结构。

    顺序存储结构是存储结构类型中的一种,该结构是把逻辑上相邻的节点存储在物理位置上相邻的存储单元中,

    结点之间的逻辑关系由存储单元的邻接关系来体现。由此得到的储结构为顺序存储结构,通常顺序存储结构是

    借助于计算机程序设计语言(例如c/c++)的数组来描述的。

    顺序存储结构的主要优点是节省存储空间,因为分配给数据的存储单元全用存放结点的数据(不考虑c/c++语言中数组需指定大小的情况),

    结点之间的逻辑关系没有占用额外的存储空间。采用这种方法时,可实现对结点的随机存取,即每一个结点对应一个序号,

    由该序号可以直接计算出来结点的存储地址。但顺序存储方法的主要缺点是不便于修改,对结点的插入、删除运算时,

    可能要移动一系列的结点。

    2、随机存储结构

    在计算机中用一组任意的存储单元存储线性表的数据元素(这组存储单元可以是连续的,也可以是不连续的)。

    它不要求逻辑上相邻的元素在物理位置上也相邻。因此它没有顺序存储结构所具有的弱点,但也同时失去了顺序表可随机存取的优点。

    随机存储最典型的代表为链式存储:

    链式存储结构特点

    1、比顺序存储结构的存储密度小 (每个节点都由数据域和指针域组成,所以相同空间内假设全存满的话顺序比链式存储更多)。

    2、逻辑上相邻的节点物理上不必相邻。

    3、插入、删除灵活 (不必移动节点,只要改变节点中的指针)。

    4、查找结点时链式存储要比顺序存储慢。

    5、每个结点是由数据域和指针域组成。

    更多相关内容
  • 随机存取(直接存取,Random Access)指的是当存储器中的数据被读取或写入时,所需要的时间与该数据所在的物理地址无关。随机存取就是直接存取,可以通过下标直接访问到元素的位置,与存储位置无关,时间复杂度永远为...

     

    一、存取结构:随机存取和顺序存

     

    1.1随机存取

    随机存取(直接存取,Random Access)指的是当存储器中的数据被读取或写入时,所需要的时间与该数据所在的物理地址无关。

    随机存取就是直接存取,可以通过下标直接访问到元素的位置,与存储位置无关,时间复杂度永远为O(1),例如数组。存取第N个数据时,不需要访问前(N-1)个数据,直接就可以对第N个数据操作 (array)。

    随机存取的微观现实例子就是编程语言中的数组

    随机存取的宏观现实例子就是我们的随机存取存储器(RAM:Random Access Memory),通俗的说也就是我们电脑的内存条。因为RAM利用电容存储电荷的原理保存信息,所以RAM可以高速存取,且与物理地址无关。

     

    1.2顺序存取

    顺序存取(Sequential Access)是一种按记录的逻辑顺序进行读、写操作的存取方法,所需要的时间与该数据所在的物理地址有关。顺序存取表现为:在存取第N个数据时,必须先访问前(N-1)个数据

    非随机存取也叫顺序存取,不能通过下标访问。

    顺序存取的微观现实例子就是数据结构中的链表

    顺序存取的现实例子就是我们的录音磁带、光盘、机械硬盘里面的磁盘。磁带、光盘、磁盘上的数据分别存储在不同扇区、不同磁道上,磁盘的读写磁头通过切换不同扇区和磁道来读取物理地址不连续的数据时,该过程中要经过不同扇区和不同磁道上的无关数据,磁盘的读写磁头在切换不同扇区和磁道所需时间也不同,故为顺序存取。

     

    1.3 存取与插入删除的区别

    存取只是将数组或链表的数据取出来或存入,不改变表的长度,而插入删除则会改变表的长度。

     

    二、存储结构:顺序存储、随机存储

     

    2.1 顺序存储

    顺序存储是把逻辑上相邻的数据元素存储在物理位置上相邻的存储单元中,数据元素之间的逻辑关系由存储单元的邻接关系来体现。

     

    顺序存储的主要优点:

        节省存储空间。因为分配给数据的存储单元全用存放数据元素(不考虑c/c++语言中数组需指定大小的情况),数据元素之间的逻辑关系没有占用额外的存储空间。
        可实现对数据元素的随机存取(直接存取)。即每一个数据元素对应一个元素下标,由该元素下标可以直接计算出来数据元素的物理存储地址。

     

    顺序存储的主要缺点:

        不便于数据修改。对数据元素的插入、删除运算时,可能要移动一系列的数据元素。
        产生磁盘碎片。因为顺序存储只能使用相邻的一整块存储单元,因此会产生较多的磁盘碎片。

     

    顺序存储的典型实例就是编程语言中的数组。例如,使用顺序表存储集合 {1,2,3,4,5},数据最终的存储状态如下图所示:

    数组中的所有元素存储在一个连续性的内存块中,并通过数组的首地址和元素下标来访问。因此一个数组就是由1个数组首地址和N个数组元素构成,数组不需要像链表一样,链表的每个节点必须存储下一个结点的物理地址,在存储同样多的数据下,数组比链表节省空间。

    数组可通过数组的首地址和元素下标来直接存取数组中的没每一个元素,而不需要像链表一样,在存取第N个链表结点的数据时,必须先访问前(N-1)个链表结点。

    但对数组的数据元素的插入、删除运算时,可能要移动一系列的数据元素,特别的麻烦,因此顺序存储结构的数组不便于修改。

     

    2.2 随机存储

    在计算机中用一组任意的存储单元存储线性表的数据元素(这组存储单元可以是连续的,也可以是不连续的)。它不要求逻辑上相邻的元素在物理位置上也相邻,而是借助指示元素存储地址的指针来表示元素之间的逻辑关系。

     

    顺序存储的主要优点:

    1. 不会产生磁盘碎片。因为随机存储不要求逻辑上相邻的元素在物理位置上也相邻,而是借助指示元素存储地址的指针来表示元素之间的逻辑关系,因此不会产生磁盘碎片。
    2. 数据修改方便。对数据元素的插入、删除运算时,随机存储不必移动结点,只要改变结点中的指针。

    顺序存储的主要缺点:
    3. 占用空间大。随机存储的每个结点都由数据域和指针域组成,所以相同空间内假设全存满,顺序存储比随机存储可存更多数据。
    4. 查找结点时链式存储要比顺序存储慢,且只能实现顺序存取。 

     

    2.2.1 随机存储——链式存储

    链式存储是随机存储最典型的代表,因此链式存储的定义、优点和缺点就是 2.2随机存储 中的定义、优点和缺点。

     

    2.2.2 随机存储——索引存储

    除建立存储结点信息外,还建立附加的索引表来标识结点的地址,索引表由若干索引项组成,索引项的一般形式是(关键字,地址)

    索引存储的主要优点:检索速度快。
    索引存储的主要缺点:增加了附加的索引表,会占用较多的存储空间。

     

    2.2.3 随机存储——散列存储

    散列存储,又称Hash存储,是一种将数据元素的存储位置与关键码之间建立确定对应关系的查找技术,即根据元素的关键字直接计算出该元素的存储地址。

    散列存储的主要优点:检索、增加和删除节点的操作更快。
    散列存储的主要缺点:若散列函数不好,则可能出现元素存储单元的冲突。
     

    参考原文出处:

    数据结构考研:随机存取、顺序存取、随机存储和顺序存储的区别/详细解释(计算机/软件工程/王道论坛)_快乐李同学(李俊德-大连理工大学)的博客-CSDN博客_数据结构随机存取是什么意思

    展开全文
  • 最近在看王道论坛的数据结构书籍,开头部分提到了随机存取、顺序存取、随机存储和顺序存储的区别。 于是博主在网上查询了相关资料对随机存取、顺序存取、随机存储和顺序存储的区别进行详细解释。 二、详细解释 1....

    一、问题背景

    最近在看王道论坛的数据结构书籍,开头部分提到了随机存取、顺序存取、随机存储和顺序存储的区别
    于是博主在网上查询了相关资料对随机存取、顺序存取、随机存储和顺序存储的区别进行详细解释。

    二、详细解释

    1.存取结构:随机存取和顺序存取

    1.1随机存取

    随机存取(直接存取,Random Access)指的是当存储器中的数据被读取或写入时,所需要的时间与该数据所在的物理地址无关。

    随机存取的微观现实例子就是编程语言中的数组。
    随机存取的宏观现实例子就是我们的随机存取存储器(RAM:Random Access Memory),通俗的说也就是我们电脑的内存条。因为RAM利用电容存储电荷的原理保存信息,所以RAM可以高速存取,且与物理地址无关。

    1.2顺序存取

    顺序存取(Sequential Access)是一种按记录的逻辑顺序进行读、写操作的存取方法,所需要的时间与该数据所在的物理地址有关。顺序存取表现为:在存取第N个数据时,必须先访问前(N-1)个数据。
    顺序存取的微观现实例子就是数据结构中的链表。
    顺序存取的现实例子就是我们的录音磁带、光盘、机械硬盘里面的磁盘。磁带、光盘、磁盘上的数据分别存储在不同扇区、不同磁道上,磁盘的读写磁头通过切换不同扇区和磁道来读取物理地址不连续的数据时,该过程中要经过不同扇区和不同磁道上的无关数据,磁盘的读写磁头在切换不同扇区和磁道所需时间也不同,故为顺序存取。
    在这里插入图片描述

    2.存储结构:顺序存储、随机存储

    存储结构是数据元素三大组成要素之一,下图是博主对数据元素三要素所画的思维导图。
    在这里插入图片描述

    2.1顺序存储

    顺序存储是把逻辑上相邻的数据元素存储在物理位置上相邻的存储单元中,数据元素之间的逻辑关系由存储单元的邻接关系来体现。

    顺序存储的主要优点:

    1. 节省存储空间。因为分配给数据的存储单元全用存放数据元素(不考虑c/c++语言中数组需指定大小的情况),数据元素之间的逻辑关系没有占用额外的存储空间。
    2. 可实现对数据元素的随机存取(直接存取)。即每一个数据元素对应一个元素下标,由该元素下标可以直接计算出来数据元素的物理存储地址。

    顺序存储的主要缺点:

    1. 不便于数据修改。对数据元素的插入、删除运算时,可能要移动一系列的数据元素。
    2. 产生磁盘碎片。因为顺序存储只能使用相邻的一整块存储单元,因此会产生较多的磁盘碎片。

    顺序存储的典型实例就是编程语言中的数组。例如,使用顺序表存储集合 {1,2,3,4,5},数据最终的存储状态如下图所示:
    在这里插入图片描述
    数组中的所有元素存储在一个连续性的内存块中,并通过数组的首地址和元素下标来访问。因此一个数组就是由1个数组首地址和N个数组元素构成,数组不需要像链表一样,链表的每个节点必须存储下一个结点的物理地址,在存储同样多的数据下,数组比链表节省空间。

    数组可通过数组的首地址和元素下标来直接存取数组中的没每一个元素,而不需要像链表一样,在存取第N个链表结点的数据时,必须先访问前(N-1)个链表结点。

    但对数组的数据元素的插入、删除运算时,可能要移动一系列的数据元素,特别的麻烦,因此顺序存储结构的数组不便于修改。

    2.2随机存储

    在计算机中用一组任意的存储单元存储线性表的数据元素(这组存储单元可以是连续的,也可以是不连续的)。它不要求逻辑上相邻的元素在物理位置上也相邻,而是借助指示元素存储地址的指针来表示元素之间的逻辑关系。

    顺序存储的主要优点:

    1. 不会产生磁盘碎片。因为随机存储不要求逻辑上相邻的元素在物理位置上也相邻,而是借助指示元素存储地址的指针来表示元素之间的逻辑关系,因此不会产生磁盘碎片。
    2. 数据修改方便。对数据元素的插入、删除运算时,随机存储不必移动结点,只要改变结点中的指针。

    顺序存储的主要缺点:
    3. 占用空间大。随机存储的每个结点都由数据域和指针域组成,所以相同空间内假设全存满,顺序存储比随机存储可存更多数据。
    4. 查找结点时链式存储要比顺序存储慢,且只能实现顺序存取

    2.2.1 随机存储——链式存储

    链式存储是随机存储最典型的代表,因此链式存储的定义、优点和缺点就是2.2随机存储中的定义、优点和缺点。

    2.2.2 随机存储——索引存储

    除建立存储结点信息外,还建立附加的索引表来标识结点的地址,索引表由若干索引项组成,索引项的一般形式是(关键字,地址)

    索引存储的主要优点:检索速度快。
    索引存储的主要缺点:增加了附加的索引表,会占用较多的存储空间。

    2.2.3 随机存储——散列存储

    散列存储,又称Hash存储,是一种将数据元素的存储位置与关键码之间建立确定对应关系的查找技术,即根据元素的关键字直接计算出该元素的存储地址。

    散列存储的主要优点:检索、增加和删除节点的操作更快。
    散列存储的主要缺点:若散列函数不好,则可能出现元素存储单元的冲突。

    本文参考来源:
    [1]随机存取、顺序存取、随机存储和顺序存储
    [2]随机存取-百度百科
    [3]顺序表(顺序存储结构)及初始化详解
    [4]磁盘系统基本概念以及磁盘的顺序读写与随机读写
    [5]顺序存储结构-百度百科
    [6]四种数据存储结构—顺序存储 链接存储 索引存储 散列存储

    展开全文
  • 数据结构(二)顺序结构 随机存取

    千次阅读 2015-12-19 10:17:00
    顺序结构相比链式结构的一个优点是随机存取随机存取: 顺序结构可以随意访问任意第 i 个元素,时间负责度为O(1),因为可以通过下标访问。 而链式结构访问第 i 个元素只能从第一个开始遍历整个链式结构...

    顺序结构相比链式结构的一个优点是随机存取。

    随机存取:

    顺序结构可以随意访问任意第 i 个元素,时间负责度为O(1),因为可以通过下标访问。

    而链式结构访问第 i 个元素只能从第一个开始遍历整个链式结构才能访问,时间负责度为O(n)。

    转载于:https://my.oschina.net/u/2541938/blog/547743

    展开全文
  • 哈希函数用的是java中String.hashCode()算法(经实际验证其碰撞率极低且相近的文本散列值相邻,存取的效率更高.) 可自动无限增加容量(内存允许) 3、连续10万次不同内容存取效率为,存10万次共耗时约280ms ,取10万次共...
  • 哈希函数用的是java中String.hashCode()算法(经实际验证其碰撞率极低且相近的文本散列值相邻,存取的效率更高.)。可自动无限增加容量(内存允许)。3、连续10万次不同内容存取效率为,存10万次共耗时约280ms ,取10万次...
  •  1、随机存取就是直接存取,可以通过下标直接访问的那种数据结构,与存储位置无关,例如数组。非随机存取 就是顺序存取了,不能通过下标访问了,只能按照存储顺序存取,与存储位置有关,例如链表。  2、顺序存取...
  • 随机存取与顺序存取深度剖析

    千次阅读 2021-12-07 20:01:08
    数据结构中的线性表这一章节中,我们学习了线性表的顺序存储和链式存储,以及两种存储方式的特点,比如链式存储方式增删元素可以直接修改指针,但是顺序存储方式增删查改却需要移动大量的元素等等,在此不再一一...
  • 数据的存储结构(物理结构):顺序存储、链接存储(多了指针)、索引存储(多了索引表)、散列存储(散列表)。
  • 铁电随机存取存储器

    2020-11-14 17:51:19
    在FRAM里是利用铁电材料的特性来存储数据的,结构与EEPROM的结构相类似,而只是在控制栅和浮动栅之间具有铁电物质,FRAM单元的剖视图见1所示。  图1 以0.5μm技术制造的FRAM单元的剖视图(左边的两个浅色的矩形...
  • 【线性表】线性表的随机存取和顺序存储?

    千次阅读 多人点赞 2020-06-02 14:41:16
    由此,只要确定了存储线性表的起始位置,顺序表中任一数据元素都可随机存取 个人理解: 随机存取 指的是当存储器中的消息被读取或写入时,所需要的时间与这段信息所在的位置无关 在顺序存储的线性结构中,数据...
  • 数据结构随机存取,堆

    千次阅读 2014-08-30 16:05:54
    下列结构中,哪一个必须随机cunqu
  • 随机存取与顺序存取

    千次阅读 多人点赞 2020-03-21 13:45:33
    2、非随机存取也叫顺序存取,不能通过下标访问,在存取第N个数据时,必须先访问前(N-1)个数据 ,例如链表。 3.存取与插入删除的区别:存取只是将数组或链表的数据取出来或存入,不改变表的长度...
  • 数据结构中存储和存取的区别

    千次阅读 多人点赞 2021-04-24 23:31:45
    复习数据结构的时候遇到了这两个词,就想着记录一下,因为我起初有点混淆了emmm…… 一、存取结构 存取结构分为顺序存取和随机存取 顺序存取:不能通过下标访问,只能按照存储顺序存取,与存储位置有关,例如链表。 ...
  • 目录随机存取存储器(RAM)的结构随机存取存储器(RAM)的存取过程 随机存取存储器(RAM)的结构 行列译码器,行列译码器是二进制译码器,根据地址线输入的二进制编码找到要进行炒作的存储单元 存储器,存储器由...
  • 线性表的顺序存储为什么是随机存取? 这个就要相比较来理解,拿单项链式存储来进行对比,如果我现在想要在已经存储的“表”中拿出“最后一个”数,那么线性表直接可以通过数组a(n-1)来获取,但链式需要靠不断的指针...
  • 随机存取 顺序存取

    千次阅读 2019-03-04 20:50:55
     1、随机存取就是直接存取,可以通过下标直接访问的那种数据结构,与存储位置无关,例如数组。非随机存取 就是顺序存取了,不能通过下标访问了,只能按照存储顺序存取,与存储位置有关,例如链表。  2、顺序存取...
  • 头歌数据结构单链表的基本操作 第1关单链表的插入操作 第2关单链表的删除操作 第3关单链表的按照序号查找值操作 第4关单链表的按照值查找结点位序的操作 第5关单链表的逆置操作 第6关两个有序单链表的合并操作 稳过 ...
  • 也就是说只要确定了存储线性表的起始位置,线性表中的任一元素都可以随机存储,所以说,顺序表是一种随机存取的存储结构。 高级语言中的数组与其相似,所以我们用数组来描述顺序存储结构。 下面描述了逻辑关系的变化...
  • 随机存取存储器(RAM)

    千次阅读 2020-04-17 20:09:49
    随机存取存储器(RAM)
  • 随机存取与顺序存取概念辨析

    千次阅读 2019-07-06 00:16:46
    最近在复习数据结构,区分一下随机存取和顺序存取:  (注意:这里讲的存取与存储结构是有区别的!) 1、随机存取就是直接存取,可以通过下标直接访问的那种数据结构,与存储位置无关,例如数组。 2、顺序存取(非...
  • 数据结构全套练习题及答案 包括选择题 简答题 算法设计题
  • 2 顺序存储的线性表可以按序号随机存取 3 顺序表的插入和删除操作不需要付出很大的时间代价因为每次操作平均只有近一 半的元素需要移动 4 线性表中的元素可以是各种各样的但同一线性表中的数据元素具有相同的特性 ...
  • 数据结构与算法分析课后习题答案 篇一数据结构与算法课后习题答案 >2.3.2 判断题 2顺序存储的线性表可以按序号随机存取 4线性表中的元素可以是各种各样的但同一线性表中的数据元素 具有相同的特性因此属于同一数据...
  • 数据结构辅导;课程内容框架;...顺序表的随机存取;顺序表上插入运算的实现;顺序表上删除运算的实现;顺序表优缺点分析;链表---线性表的链式存储;单链表;单链表的数据类型描述;单链表上插入运算的实现
  • 顺序存储的线性表可以按序号随机存取 V 3?顺序表的插入和删除操作不需要付出很大的时间代价因为每次操作平均只有近一 半的元素需要移动 X 4?线性表中的元素可以是各种各样的但同一线性表中的数据元素具有相同的特性 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 88,983
精华内容 35,593
关键字:

数据结构随机存取

数据结构 订阅