精华内容
下载资源
问答
  • 存储结构

    2014-02-14 15:20:20
    存储结构 编辑 数据元素之间的关系有两种不同的表示方法:顺序映象和非顺序映象,并由此得到两种不同的存储结构:顺序存储结构和链式存储结构。数据的存储结构是指数据的逻辑结构在计算机中的表示。 ...

    存储结构

    数据元素之间的关系有两种不同的表示方法:顺序映象和非顺序映象,并由此得到两种不同的存储结构: 顺序存储结构链式存储结构。数据的存储结构是指数据的 逻辑结构在计算机中的表示。

    1数据结构方面的储存结构编辑

    分类

    顺序存储方法它是把逻辑上相邻的结点存储在物理位置相邻的 存储单元里,结点间的逻辑关系由存储单元的邻接关系来体现,由此得到的存储表示称为 顺序存储结构顺序存储结构是一种最基本的存储表示方法,通常借助于 程序设计语言中的 数组来实现。
    链接存储方法它不要求逻辑上相邻的结点在物理位置上亦相邻,结点间的逻辑关系是由附加的 指针字段表示的。由此得到的存储表示称为 链式存储结构,链式存储结构通常借助于 程序设计语言中的 指针类型来实现。

    顺序存储和链接存储的基本原理

    顺序存储和链接存储是数据的两种最基本的存储结构。
    在顺序存储中,每个 存储空间含有所存元素本身的信息,元素之间的逻辑关系是通过 数组下标位置简单计算出来的 线性表的顺序存储,若一个元素存储在对应数组中的下标位置为i,则它的前驱元素在对应数组中的下标位置为i-1,它的后继元素在对应数组中的下标位置为i+1。在 链式存储结构中,存储结点不仅含有所存元素本身的信息,而且含有元素之间逻辑关系的信息。
    数据的 链式存储结构可用链接表来表示。
    其中data表示值域,用来存储 节点的数值部分。Pl,p2,…,Pill(1n≥1)均为 指针域,每个指针域为其对应的后继元素或前驱元素所在结点(以后简称为后继结点或前驱结点)的存储位置。通过结点的 指针域(又称为链域)可以访问到对应的后继结点或前驱结点,若一个结点中的某个指针域不需要指向其他结点,则令它的值为空(NULL)。
    在数据的顺序存储中,由于每个元素的存储位置都可以通过简单计算得到,所以访问元素的时间都相同;而在数据的链接存储中,由于每个元素的存储位置保存在它的前驱或后继结点中,所以只有当访问到其前驱结点或后继结点后才能够按 指针访问到,访问任一元素的时间与该元素结点在 链式存储结构中的位置有关。

    2储存器方面的储存结构编辑

    储存系统的 层次结构为了解决 存储器速度与价格之间的矛盾,出现了存储器的层次结构。

    程序的局部性原理

    在某一段时间内,CPU频繁访问某一局部的 存储器区域,而对此范围外的地址则较少访问的现象就是
    程序的局部性原理。层次结构是基于程序的局部性原理的。对大量典型程序运行情况的统计分析得出的结论是:CPU对某些地址的访问在短时间间隔内出现集中分布的倾向。这有利于对 存储器实现层次结构。

    多级存储体系的组成

    目前,大多采用三级存储结构。
    即:Cache-主存- 辅存,如下图:
    3、多级 存储系统的性能
    考虑由Cache和主存构成的两级存储系统,其性能主要取决于Cache和贮存的 存取周期以及访问它们的
    次数。( 存取周期为: Tc,Tm ;访问次数为: Nc,Nm)
    (1)Cache的命中率 H= Nc / (Nc+Nm)
    (2)CPU访存的平均时间 Ta= H * Tc+ (1-H) Tm
    Cache-主存系统的效率
    e= Tc / Ta
    =1/H+(1-H)Tm/Tc
    根据统计分析:Cache的命中率可以达到90%~98%
    当Cache的容量为:32KB时,命中率为86%
    64KB时,命中率为92%
    128KB时,命中率为95%
    256KB时,命中率为98%
    词条标签:
    展开全文
  • 顺序存储结构和链式存储结构的优缺点比较

    万次阅读 多人点赞 2018-10-09 17:45:34
    顺序存储结构和链式存储结构的比较 优缺点 顺序存储时,相邻数据元素的存放地址也相邻(逻辑与物理统一);要求内存中可用存储单元的地址必须是连续的。 优点:存储密度大(=1),存储空间利用率高。 缺点:...

    顺序存储结构和链式存储结构的比较

    优缺点

    1. 顺序存储时,相邻数据元素的存放地址也相邻(逻辑与物理统一);要求内存中可用存储单元的地址必须是连续的。
      • 优点:存储密度大(=1),存储空间利用率高。
      • 缺点:插入或删除元素时不方便。
    2. 链式存储时,相邻数据元素可随意存放,但所占存储空间分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针
      • 优点:插入或删除元素时很方便,使用灵活。
      • 缺点:存储密度小(<1),存储空间利用率低。

    使用情况

    • 顺序表适宜于做查找这样的静态操作;
    • 链表宜于做插入、删除这样的动态操作。
    • 若线性表的长度变化不大,且其主要操作是查找,则采用顺序表;
    • 若线性表的长度变化较大,且其主要操作是插入、删除操作,则采用链表。

    比较

    顺序表与链表的比较

    • 基于空间的比较

      • 存储分配的方式
        • 顺序表的存储空间是静态分配的
        • 链表的存储空间是动态分配的
      • 存储密度 = 结点数据本身所占的存储量/结点结构所占的存储总量
        • 顺序表的存储密度 = 1
        • 链表的存储密度 < 1
    • 基于时间的比较

      • 存取方式
        • 顺序表可以随机存取,也可以顺序存取
        • 链表是顺序存取的
      • 插入/删除时移动元素个数
        • 顺序表平均需要移动近一半元素
        • 链表不需要移动元素,只需要修改指针

     

    内容转载自:https://blog.csdn.net/VonSdite/article/details/78240594?locationNum=9&fps=1

    展开全文
  • C#写的顺序储存结构和链式储存结构,最简单基本的数据结构 目录 1、博客介绍 ...用C#写的最简单的顺序存储结构和链式存储结构。 2、内容 ------------------------固定长度的顺序存储结构------...

                   C#写的顺序储存结构和链式储存结构,最简单基本的数据结构


    目录

    1、博客介绍

    2、内容

    3、推送

    4、结语


    1、博客介绍

           本文所有代码摘自【数据结构(C#语音版)】——雷军环,邓文达,刘震编著。用C#写的最简单的顺序存储结构和链式存储结构。


    2、内容

    ------------------------固定长度的顺序存储结构-------------------------
    /// <summary>
    /// 固定长度的顺序存储结构
    /// </summary>
    /// <typeparam name="T"></typeparam>
    public class SeqStructure<T>
    {
        private T[] _data;
        private int _i;
    
        public SeqStructure(int size)
        {
            _data = new T[size];
        }
    
        public void AddData(T var)
        {
            _data[_i++] = var;
        }
    }
     ----------------------------单向链式结构-----------------------------
    
    /// <summary>
    /// 单向链式结构基础元素
    /// </summary>
    /// <typeparam name="T"></typeparam>
    public class LinkedNode<T>
    {
        private T _data;
    
    
        private LinkedNode<T> _next;
    
        public LinkedNode()
        {
            _data = default(T);
            _next = null;
        }
    
        public LinkedNode(T val)
        {
            _data = val;
            _next = null;
        }
    
        public T Data
        {
            get { return _data; }
            set { _data = value; }
        }
    
        public LinkedNode<T> Next
        {
            get { return _next; }
            set { _next = value; }
        }
    }
    
    class LinkedStructure<T>
    {
        private LinkedNode<T> _first;
        private LinkedNode<T> _current;
    
        public LinkedStructure()
        {
            _first = null;
        }
    
        public void AddData(LinkedNode<T> var)
        {
            if (_first==null)
            {
                _first = var;
                _current = var;
            }
            else
            {
                _current.Next = var;
                _current = var;
            }
        }
    }

     

     ----------------------------双向链式结构-----------------------------
    
    
    
    public class DbNode<T>
    {
        private T _data;//数据
    
        private DbNode<T> _prev;//前驱引用域
        private DbNode<T> _next;//后驱引用域
    
        public DbNode(T val, DbNode<T> p)
        {
            _data = val;
            _next = p;
        }
    
        public DbNode(DbNode<T> p)
        {
            _next = p;
        }
    
        public DbNode(T val)
        {
            _data = val;
            _next = null;
        }
    
        public DbNode()
        {
            _data = default(T);
            _next = null;
        }
    
        public T Data
        {
            get { return _data; }
            set { _data = value; }
        }
    
    
        public DbNode<T> Prev
        {
            get { return _prev; }
            set { _prev = value; }
        }
    
        public DbNode<T> Next
        {
            get { return _next; }
            set { _next = value; }
        }
    }
    
    

     


    3、推送

    博主Github:https://github.com/KingSun5


    4、结语

           本文不作过多介绍,加深对数据结构的认识,有兴趣的可以直接去买本书看看,若是觉得博主的文章写的不错,不妨关注一下博主,点赞一下博文,另博主能力有限,若文中有出现什么错误的地方,欢迎各位评论指摘。

           QQ交流群:806091680(Chinar)

           该群为CSDN博主Chinar所创,推荐一下!我也在群里!

    展开全文
  • 一、顺序存储结构  从数据结构的角度来说顺序储存结构的存储空间固定,可扩展性差,但是如果数据元素个数已知,较链式存储节省空间。  它的优点是随机读取任意一个元素(因为元素时顺序存储的,所以元素的存储...

                 容器的存储分为顺序存储和链式存储

    一、顺序存储结构

         从数据结构的角度来说顺序储存结构的存储空间固定,可扩展性差,但是如果数据元素个数已知,较链式存储节省空间。

         它的优点是随机读取任意一个元素(因为元素时顺序存储的,所以元素的存储位置之间有一定的关系)但是顺序存储的缺点是删除、插入操作需要花费很多时间在移动元素上。

         STL中的vector就是典型的顺序存储结构。

    二、链式存储结构

       对于链式存储而言,插入和删除元素开销小,操作简便,最大特点就是插入、删除运算方便,可扩展性强。STL中list、map就是典型的链式存储结构。

             下面是它的特点:

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

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

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

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

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

    三、结论

        综上所述,如果元素个数已知,且插入删除较少的可以使用顺序结构,而对于频繁有插入删除操作,元素个数未知的,最好使用链式结构,编程时可结合要处理的数据的特点选择或设计数据结构的。





    展开全文
  • 用Python仿照C语言来实现线性表的顺序存储结构,供大家参考,具体内容如下 本文所采用的数据结构模板为 《数据结构教程》C语言版,李春葆、尹为民等著。 该篇所涉及到的是线性表的顺序存储结构。 代码: # !/usr/...
  • 数据结构-存储结构

    千次阅读 2017-12-17 10:29:39
    数据结构-存储结构
  • 线性表之顺序存储结构和链式存储结构

    万次阅读 多人点赞 2018-09-28 14:17:06
    顺序存储结构和链式存储结构有所不同,具体区别如下表所示: 通过上面的对比,可以得出一些经验性的结论: 若线性表需要频繁查找,很少进行插入和删除操作时,宜采用顺序存储结构。若需要频繁插入和删除时,宜...
  • 数据储存结构集合

    2018-10-19 11:12:00
    从数据存储结构中:线性表,数组,链表,hash表讲起,引申到集合底层存储结构.到排序
  • 实现线性表的顺序存储结构、链式存储结构,以及定义在上述结构的基本操作,栈的顺序存储结构、链式存储结构,以及定义在上述结构的基本操作
  • 一种数据的逻辑结构指的是这个数据的组织方式,存储结构指的是它的存储方式。 比如队列(逻辑结构),可以用数组(连续)存储,也可以用链表(不连续)存储。 数据结构方面的储存结构分类 顺序存储方法它是把逻辑上...
  • 一:线性表的顺序存储结构 1.定义 2.顺序存储示意图如下所示: 3.编号地址 4.存储位置公式 5.存取操作时间性能 6.随机存储结构 7.时间复杂度 (1)对于存取操作 (2)对于插入和删除操作 8. 使用场景 二...
  • 算法设计的要求时间效率高存储量低顺序存储结构和链式存储结构的区别链表存储结构的内存地址不一定是连续的,但顺序存储结构的内存地址一定是连续的;链式存储适用于在较频繁地插入、删除、更新元素时,而顺序存储...
  • 顺序存储结构: 定义:在计算机中用一组地址连续的存储单元依次存储线性表的各个数据元素,以数据元素为单位,按数据元素在表中的次序存储。 优点: 不用为表示节点间的逻辑关系而增加额外的存储开销。 具有按...
  • 采用链式存储结构实现的栈称为链栈,链栈通常采用单链表来实现,因此其结构与单链表的结构相似,由于栈的插入和删除操作仅限制在栈顶位置进行,所以采用单链表的表头指针作为栈顶指针。链栈是一种特殊的线性链表,和...
  • 数据结构中的物理结构包含有:顺序存储结构与链式存储结构 存储优缺点: 顺序存储结构在未达到内存限制时,(因为是顺序存储所以查询尾部比较快)在末尾插入比较快,但是在中间插入,需要将当前插入位置的元素及...
  • 数据结构=逻辑结构(线性、非线性)+存储结构(顺序、链式、索引、散列) 1)逻辑结构:数据元素间抽象化的相互关系 2)存储结构:(物理结构),在计算机存储器中的存储形式 逻辑结构的分类: 1.按逻辑结构分为:...
  • [size=16px]]刚开始学数据结构,对于静态链表的存储结构书上也没有明确给出。以下是个人理解: 既然静态链表就是结构体数组,那数组肯定是顺序存储结构,所以静态链表整体上应该是顺序存储结构。但静态链表存储的...
  • 数据结构(一)逻辑结构和存储结构

    千次阅读 多人点赞 2020-08-08 11:11:53
    逻辑结构:数据的逻辑结构是对数据之间关系的描述,与存储结构无关,同一种逻辑结构可以有多多种存储结构。 逻辑结构主要分为两大类:线性存储结构和非线性存储结构 线性存储结构是数据元素有序集合,数据结构之间...
  • 队列、队列的顺序存储结构、链式存储结构
  • 链式存储结构

    万次阅读 2019-09-20 16:27:14
    线性表的链式存储结构: 为什么采用链式存储结构这种数据结构? –》因为顺序存储结构插入或删除元素时候会涉及大量元素移动,非常影响效率。 因此引入了链式存储结构为了弥补顺序存储结构效率上的问题。 链式存储...
  • 线性表的顺序存储结构称为顺序表   顺序表的实现 const int MaxSize=100; template&lt;class DataType&gt; class SeqList { public: SeqList(){length=0;} //无参构造函数,建立一个空的顺序表 ...
  • 逻辑结构和存储结构

    千次阅读 2019-01-23 12:07:14
    百度百科:数据结构具体指同一类数据元素中,各元素之间的相互关系,包括三个组成成分,数据的逻辑结构,数据的存储结构和数据运算结构。结合今天在复习过程中新的理解,主要总结一下逻辑结构和存储结构。 什么是...
  • 广义表存储结构|数据结构

    千次阅读 2019-10-27 10:19:24
    文章目录一、头尾链表的存储结构1、表头和表尾2、表结点和原子结点二、扩展线性链表的存储结构 一、头尾链表的存储结构 由于广义表的数据元素可以分为原子和广义表,由此需要两种结构的结点,一种是表结点(广义表...
  • 这里写目录标题顺序储存结构一,什么是顺序储存?二,怎样实现顺序存储?链式储存结构 顺序储存结构 一,什么是顺序储存? 线性表的顺序存储是指用一组地址连续的存储单元依次存储线性表中的各个元素。 二,怎样实现...
  • 数据的逻辑结构和存储结构

    千次阅读 2019-08-26 22:30:34
    数据的逻辑结构合存储结构 一,逻辑结构 数据的逻辑结构是对数据元素之间逻辑关系的描述,它与数据在计算机中存储方式无关,根据数据元素之间的不同特性,可以对数据的逻辑结构进行分类 分类1:(选型结构和非线性...
  • 掌握图的结构特征,以及邻接矩阵和邻接表存储结构的特点和建立方法;掌握在邻接矩阵或邻接表存储结构下图的深度优先和广度优先遍历算法的设计方法。 实验条件:计算机一台,vc++6.0 实验内容与算法思想: 内容: ...
  • 线性表有顺序存储结构与链式存储结构两种表示方式,本章主要介绍线性表的顺序存储结构的表示方式。 线性表的顺序表示是指用一组地址连续的存储单元依次存储线性表的数据元素。其原理大致如下图所示: ![这里写图片...
  • 逻辑存储结构:从逻辑的角度分析数据库的构成。 oracle存储结构是一种层次结构包括表空间、数据段、数据区、数据块。 数据块 data block:由块头、表目录、行目录、空余空间、行数据组成。 数据区 extent:由一组...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,226,516
精华内容 890,606
关键字:

储存结构