精华内容
下载资源
问答
  • 数据的逻辑结构和存储结构

    千次阅读 2019-08-26 22:30:34
    数据的逻辑结构存储结构 一,逻辑结构 数据的逻辑结构是对数据元素之间逻辑关系的描述,它与数据在计算机中存储方式无关,根据数据元素之间的不同特性,可以对数据的逻辑结构进行分类 分类1:(选型结构非线性...

    数据的逻辑结构合存储结构

    一,逻辑结构
    数据的逻辑结构是对数据元素之间逻辑关系的描述,它与数据在计算机中存储方式无关,根据数据元素之间的不同特性,可以对数据的逻辑结构进行分类
    分类1:(选型结构和非线性结构)
    线性结构:有且只有一个开始节点和终端节点并且所有节点最多只有一个直接前驱和一个直接后继。线性表就是一个典型的线性结构它有四个基本特征:
    1,集合中必存在唯一的“”第一个元素”
    2, 集合中必存在唯一的“最后的元素”
    3,除了最后一个元素外其他数据元素都有唯一的“后继”
    4,除了第一个元素外其他数据元素都有唯一的“前驱”
    相对应于线性结构,非线性结构的逻辑特征是一个节点元素可能对应多个直接前驱和直接后驱
    常见的非线性结构有树和图
    在这里插入图片描述
    (线性结构)
    在这里插入图片描述
    (非线性结构)

    分类2:(四种分类)
    集合结构:就是数学中所学的集合,数据元素之间除了“属于同一个集合”的联系之外,没有其他关系
    线性结构:数据之间存在一对一的关系数据之间存在前后顺序关系
    树形结构:数据元素之间存在着一对多的关系,数据之间存在层次关系除了根节点元素外,其余的元素都有唯一一个前驱元素,并且可以有多个后继元素
    图结构(或称网状节后):数据元素之间存在多对多的关系,每个数据元素可以有多个前驱元素和多个后继元素
    在这里插入图片描述
    注意:
    1,逻辑结构与数据元素本身的形式和内容而无关
    2,与元素的相对位置无关
    3,与所含元素的个数无关
    二,存储结构
    数据的存储结构是数据结构在计算机中表示方法,
    1,顺序存储结构:借助数据元素在存储器中的相对位置来表示元素之间的逻辑关系,通常用数组来表示
    特点:优:节省存储空间因为分配给数据的存储单元全用来存储节点的数据,节点之间的逻辑关系没有占用额外的存储空间。缺:插入和删除元素需要移动元素,效率是底下
    2,链式存储结构:在数据元素上附加指针域并借助指针来只是数据元素之间的逻辑关系,通常用指针类型来表示
    特点:优点:便于修改,在进行插入的删除运算时仅需修改相应数据元素的指针值而不必移动数据元素。缺点:与顺序叙述结构相比,链式存储结构的存储空间利用率低,因为除了用于数据元素的存储空间外,还需要额外的空间来存储数据之间的逻辑关系
    3,索引存储结构:除建立存储结点信息外,还建立附加的索引表来标识结点的地址。索引表由若干索引项组成。
    特点:优:可以对节点进行随机访问,在进行插入删除运算是只需要改动存储在索引表中数据元素的存储地址,有较高的数据修改和运算效率,缺:增加了索引表,减低了存储空间的利用率
    哈希(散列)存储结构:根据元素的关键字通过哈希函数直接计算出数据元素的存储地址
    特点:查找速度快,只要给出待查找数据的关键字就可以立即计算出存储地址一般适用于数据的快速查找和插入场合
    在这里插入图片描述

    展开全文
  • 逻辑结构:是指数据元素之间的逻辑关系,从逻辑关系上描述信息。 存储结构(又称物理结构):数据结构在计算机中的表示(又称映像)。 很好理解,但是光靠这些官话,做题保准做一个错一个 不信?下面放一道题: ...

    官方定义

    逻辑结构:是指数据元素之间的逻辑关系,从逻辑关系上描述信息。
    存储结构(又称物理结构):数据结构在计算机中的表示(又称映像)。

    很好理解,但是光靠这些官话,做题保准做一个错一个这里写图片描述

    不信?下面放一道题:

    线索二叉树是一种( )结构?
    A. 逻辑
    B. 逻辑和存储
    C. 物理
    D. 线性

    是不是一般人都会想选A,犹豫一点的会想选B?然而答案却是C
    这里写图片描述

    原因何在?因为二叉树时一种逻辑结构,但是线索二叉树是加上线索后的链表结构,也就是说,它是计算机内部的一种存储结构,喔嚯嚯所以是物理结构。
    有没有有种被欺骗了的感觉,这丫就是文字游戏~

    下面附上真正的干货:
    这里写图片描述

    要注意呦,逻辑结构也就那么一丢丢的几种,除开这几种的话要判断是不是逻辑结构就要好好斟酌啦。

    展开全文
  • 逻辑结构和存储结构

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

    数据结构到底是什么?

    百度百科:数据结构具体指同一类数据元素中,各元素之间的相互关系,包括三个组成成分,数据的逻辑结构,数据的存储结构和数据运算结构。结合今天在复习过程中新的理解,主要总结一下逻辑结构和存储结构。

    • 什么是逻辑结构?

       简单说,逻辑结构就是数据之间的关系。而按数据之间的关系来说,逻辑结构大概可以分为两种:线性结构非线性结构(集合、树、网)

      • 线性结构:有且只有一个开始结点和一个终端结点,并且所有结点都最多只有一个直接前驱和一个直接后继。例如:线性表,典型的线性表有:顺序表、链表、栈(顺序栈、链栈)队列(顺序队列、链队列)。它们共同的特点就是数据之间的线性关系,除了头结点和尾结点之外,每个结点都有唯一的前驱和唯一的后继,也就是所谓的一对一的关系。
      • 非线性结构:对应于线性结构,非线性结构也就是每个结点可以有不止一个直接前驱直接后继。常见的非线性结构包括:树(二叉树)、图(网)等。
    • 什么是存储结构?

       逻辑结构指的是数据间的关系,而存储结构是逻辑结构的存储映像。通俗的讲,可以将存储结构理解为逻辑结构用计算机语言的实现。常见的存储结构有顺序存储、链式存储、索引存储以及散列存储(哈希表)

      • 顺序存储:把逻辑上相邻的节点存储在物理位置上相邻的存储单元中,结点之间的逻辑关系由存储单元的邻接关系来体现。由此得到的存储结构为顺序存储结构,通常顺序存储结构是借助于数组来描述的。优点:节省空间,可以实现随机存取;缺点:插入、删除时需要移动元素,效率低。

      • 链式存储:在计算机中用一组任意的存储单元存储线性表的数据元素(这组存储单元可以是连续的,也可以是不连续的)。特点是元素在物理上可以不相邻,所以每个数据元素包括了一个数据域和一个指针域,数据域用来存放数据,而指针域用来指向其后继结点的位置。优点:插入、删除灵活;缺点:不能随机存取,查找速度慢。

    • 逻辑结构和存储结构的区别

       这两者并不冲突,一个指的是数据之间的关系,而另一个指这种关系在计算机中的表现形式。比如,线性表中的栈,数据元素之间的关系是一对一的,除头和尾结点之外的每个结点都有唯一的前驱和唯一的后继,这体现的是逻辑结构;而对于栈中的结点来说,它们可以顺序存储(也就是顺序栈),取一段连续的存储空间,将栈结点按顺序存入,每个结点和其前驱和后继在物理上都是相邻的。同时,栈结点也可以链式存储(链栈),每个结点中包括数据域和指针域,而指针域就是用来指向其后继的,在访问时就可以通过指针来找到其后继进行访问,每个结点之间物理上可以相邻也可以不相邻。

      另外的总结

      不同的线性表之间的区别:
      线性表在元素的关系上是一样的,都是“线性“关系,不同的线性表区别主要体现在不同的特性上。比如:队列的先进先出、栈的后进先出等。
      以存储结构相同、逻辑结构又同为线性表的链栈和链队列为例,它们都是链式存储的,每个结点都是由数据域和指针域组成,每个结点也都有唯一的前驱和唯一的后继(除头尾结点外)。那么它们看起来就很相似,区别呢?区别就在于给他们定义的特殊操作,它们都有”出“和”入“两种操作,一个是“先进先出”,而一个是“后进先出”。

    展开全文
  • 数据结构 - 逻辑结构和存储结构

    万次阅读 2017-10-15 22:18:18
    (1)算法决定如何构造组织数据(算法→数据结构)。  (2)算法的选择依赖于作为基础的数据结构(数据结构→算法)。  软件=程序+文档(软件工程的观点) 求解非数值计算的问题 主要考虑的是设计...

    程序=算法+数据结构

    N.沃思(Niklaus Wirth)教授提出: 
    程序=算法+数据结构 
    以上公式说明了如下两个问题: 
    (1)算法决定如何构造和组织数据(算法→数据结构)。 
    (2)算法的选择依赖于作为基础的数据结构(数据结构→算法)。 
    软件=程序+文档(软件工程的观点)


    求解非数值计算的问题

    主要考虑的是设计出合适的数据结构及相应的算法。 
    即:首先要考虑对相关的各种信息如何表示、组织和存储? 
    因此,可以认为:数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作的学科。


    数据结构基本概念

    几个概念: 
    数据(Data):是客观事物的符号表示。在计算机科学中指的是所有能输入到计算机中并被计算机程序处理的符号的总称。 
    数据元素(Data Element):是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。 
    数据项是数据的不可分割的最小单位。一个数据元素可由若干个数据项组成。 
    数据对象(Data Object):是性质相同的数据元素的集合。是数据的一个子集。

    什么是数据结构? 
    定义1—- 
    是相互之间存在一种或多种特定关系的数据元素的集合。 
    定义2—- 
    按某种逻辑关系组织起来的一批数据(或称带结构的数据元素的集合)应用计算机语言并按一定的存储表示 方式把它们存储在计算机的存储器中,并在其上定义了一个运算的集合。


    逻辑结构

    数据元素间抽象化的相互关系(简称为逻辑结构)。 
    与数据的存储无关,独立于计算机,它是从具体问题抽象出来的数学模型。 
    存储结构(物理结构)—- 
    数据元素及其关系(数据的逻辑结构)在计算机存储器中的存储形式。 
    是逻辑结构用计算机语言的实现,它依赖于计算机语言。 
    运算(算法)

    逻辑结构—划分方法一 
    (1)线性结构—- 
    有且仅有一个开始和一个终端结点,并且所有结点都最多只有一个直接前趋和一个后继。 
    例如:线性表、栈、队列、串 
    (2)非线性结构—- 
    一个结点可能有多个直接前趋和直接后继。 
    例如:树、图等。

    逻辑结构—划分方法二 
    一、集合 结构中的数据元素除了同属于一种类型外,别无其它关系。 
    二、线性结构 结构中的数据元素之间存在一对一的关系。 
    三、树型结构 结构中的数据元素之间存在一对多的关系。 
    四、图状结构或网状结构 结构中的数据元素之间存在多对多的关系。


    存储结构

    存储结构两方面的内容: 
    (1)数据元素自身值的表示(数据域) 
    (2)该结点与其它结点关系的表示(链域) 
    两种基本的存储方法: 
    (1)顺序存储方法(顺序存储结构) 
    (2)链接存储方法(链式存储结构) 
    同一种逻辑结构可采用不同的存储方法(以上两种之一或组合),这主要考虑的是运算方便及算法的时空要求。


    数据结构的运算(对数据的操作)

    ⑴ 建立(Create)一个数据结构; 
    ⑵ 消除(Destroy)一个数据结构; 
    ⑶ 从一个数据结构中删除(Delete)一个数据元素; 
    ⑷ 把一个数据元素插入(Insert)到一个数据结构中; 
    ⑸ 对一个数据结构进行访问(Access); 
    ⑹ 对一个数据结构(中的数据元素)进行修改(Modify) 
    ⑺ 对一个数据结构进行排序(Sort); 
    ⑻ 对一个数据结构进行查找(Search)。


    数据类型及抽象数据类型

    数据类型:在一种程序设计语言中,变量所具有的数据种类。 
    例1、 在FORTRAN语言中,变量的数据类型有整型、实型、和复数型 
    例2、在C语言中 
    数据类型:基本类型和构造类型 
    基本类型:整型、浮点型、字符型 
    构造类型:数组、结构、联合、指针、枚举型、自定义 
    注意:数据结构不同于数据类型,也不同于数据对象,它不仅要描述数据对象的数据类型,而且要描述数据对象各元素之间的相互关系。

    抽象数据类型(Abstract Data Type ,简称ADT):是指一个数学模型以及定义在该模型上的一组操作。 
    ADT的定义仅是一组逻辑特性描述, 与其在计算机内的表示和实现无关。因此,不论ADT的内部结构如何变化,只要其数学特性不变,都不影响其外部使用。 
    ADT的形式化定义是三元组:ADT=(D,S,P) 
    其中:D是数据对象,S是D上的关系集,P是对D的基本操作集。 
    ADT的一般定义形式是: 
    ADT <抽象数据类型名>{ 
    数据对象: <数据对象的定义> 
    数据关系: <数据关系的定义> 
    基本操作: <基本操作的定义> 
    } ADT <抽象数据类型名>

    其中数据对象和数据关系的定义用伪码描述。 
    基本操作的定义是: 
    <基本操作名>(<参数表>) 
    初始条件: <初始条件描述> 
    操作结果: <操作结果描述> 
    初始条件:描述操作执行之前数据结构和参数应满足的条件;若不满足,则操作失败,返回相应的出错信息。 
    操作结果:描述操作正常完成之后,数据结构的变化状况和 应返回的结果。


    算法

    算法的概念和描述: 
    什么是算法? 
    所谓算法(Algorithm)是对特定问题求解方法(步骤)的一种描述。 
    为解决某一特定问题而由若干条指令组成的有穷序列。 
    适合于计算机程序实现的求解问题的方法

    算法的概念和描述: 
    一个算法必须满足以下五个准则: 
    (1)有穷性—执行了有限条指令后一定要终止。 
    (2)确定性(无二义)— 
    算法的每一步操作都必须有确切定义,不得有任何歧义性。 
    (3)可(能)行性— 
    算法的每一步操作都必须是可行的,即每步操作均能在有限时间内完成。 
    (4)输入数据— 
    一个算法有n(n>=0)个初始数据的输入。 
    (5)输出数据— 
    一个算法有一个或多个与输入有某种关系的有效信息的输出。

     常见函数的时间复杂度按数量递增排列及增长率。 
    常数阶O(1) 
    对数阶O(log2n) 
    线性阶O(n) 
    线性对数阶O(nlog2n) 
    平方阶O(n2) 
    立方阶O(n3) 
    …… 
    k次方阶O(nk) 
    指数阶O(2n)


    空间复杂度(Space complexity)

    :是指算法编写成程序后,在计算机中运行时所需存储空间大小的度量。记作: S(n)=O(f(n)) 
    其中: n为问题的规模(或大小) 
    该存储空间一般包括三个方面: 
    指令常数变量所占用的存储空间; 
    输入数据所占用的存储空间; 
    辅助(存储)空间。 
    一般地,算法的空间复杂度指的是辅助空间。 
    一维数组a[n]: 空间复杂度 O(n) 
    二维数组a[n][m]: 空间复杂度 O(n*m)



    展开全文
  • 逻辑结构主要分为两大类:线性存储结构和非线性存储结构 线性存储结构是数据元素有序集合,数据结构之间存在“一对一”的关系 非线性存储结构是数据结构之间存在“一对多”得关系。列如图形结构、网状结构、树状结构...
  • 逻辑结构:集合结构、线性结构、树形结构、图形结构 存储结构:顺序(常用)、链接(常用)、散列、索引
  • 数据存储结构的选择取决于两方面,即数据的逻辑结构和存储结构(又称物理结构)。 逻辑结构 数据的逻辑结构,简单地理解,就是指的数据之间的逻辑关系。 例如,图 1 显示是一张家庭的成员关系图,从图中可以...
  • 《数据结构有哪些》一节讲到,数据的存储...数据存储结构的选择取决于两方面,即数据的逻辑结构和存储结构(又称物理结构)。 逻辑结构 数据的逻辑结构,简单地理解,就是指的数据之间的逻辑关系。 图 1 家庭成...
  • 转自逻辑结构和存储结构 百度百科:数据结构具体指同一类数据元素中,各元素之间的相互关系,包括三个组成成分,数据的逻辑结构,数据的存储结构和数据运算结构。结合今天在复习过程中新的理解,主要总结一下逻辑...
  • 数据结构=逻辑结构(线性、非线性)+存储结构(顺序、链式、索引、散列) 1)逻辑结构:数据元素间抽象化的相互关系 2)存储结构:(物理结构),在计算机存储器中的存储形式 逻辑结构的分类: 1.按逻辑结构分为:...
  • 数据结构(逻辑结构和存储结构)

    千次阅读 2018-12-06 14:53:33
    一、逻辑结构:       逻辑结构分为四种类型:集合结构,线性结构,树形结构,图形结构。 集合结构:表面意思,没有什么深刻意义,就是数据...
  • 数据结构(一)——逻辑结构和存储结构(易错)

    千次阅读 多人点赞 2019-01-17 09:54:37
    解析:顺序表、哈希表单链表表示几种数据结构,既描述逻辑结构,也描述存储结构和数据运算。而有序表是指关键字有序的线性表,可以链式存储也可以顺序存储,仅描述了元素之间的逻辑关系,属于逻辑结构。 2.循环...
  • 而博主最近看的王道论坛2020的数据结构开篇就有数据结构的三要素:逻辑结构,存储结构,数据计算,本文就结合所有知识点充分讲解各个元素之间的区别与联系。 二、数据结构的三要素:逻辑结构,存储结构,数据计算 下图是博...
  • 数据的逻辑结构和物理结构(存储结构
  • 1、 物理存储结构 1.1 oracle数据文件 数据文件是保存Oracle数据的操作系统文件。 数据文件由头部、区间(已分配的空间)空闲空间(未分配的空间)组成。 头部:将数据文件标识为数据库的一部分;存储了数据文件所属的...
  • 数据结构=逻辑结构(线性、非线性)+存储结构(顺序、链式、索引、散列) 1)逻辑结构:数据元素间抽象化的相互关系 2)存储结构:(物理结构),在计算机存储器中的存储形式 逻辑结构的分类: 1.按逻辑结构分为:...
  • 逻辑结构存储结构

    2018-04-11 23:42:01
    逻辑上的数据结构反映成分数据之间的逻辑关系即逻辑结构 ,而物理上的数据结构反映成分数据在计算机内部的存储安排即存储结构 。常见的逻辑结构有:线性结构,非线性结构(集合结构,树状结构,网络结构)。(1)...
  • DB2数据库的逻辑结构和存储模型

    千次阅读 2018-09-24 20:08:23
    DB2数据库的逻辑结构和存储模型 在DB2中,一个数据库只能属于一个实例,一个实例可以对应多个数据库,所以实例数据库的关系是一对多。 每个数据库是由一组对象组成的,如:表、视图、索引等。表是二维结构,由行...
  • 逻辑结构是数据元素之间的关系,存储结构是数据元素一起关系在计算机中的存储方式。 逻辑结构 逻辑结构是数据元素之间抽象化的关系,与数据的存储无关,独立于计算机,它是从具体问题中抽象出来的数学模型。 集合 ...
  • 数据结构逻辑结构存储结构

    千次阅读 2013-12-24 22:10:00
    存储结构是数据的逻辑结构用计算机语言的实现,常见的存储结构有 顺序存储,链式存储,索引存储,以及散列存储。其中散列所形成的存储结构叫散列表(又叫哈希表),因此哈希表也是一种存储结构。栈只是一种抽象数据...
  • 最近在看考研数据结构,发现关于逻辑结构和存储结构这点不是很懂,然后百度找了一下,发现一篇非常详细的文章,转载一下,转载博客地址:http://c.biancheng.net/view/7524.html。
  • 数据的逻辑结构分为线性结构非线性结构,线性表是典型的线性结构;集合、树图是典型的非线性结构。数据的逻辑结构分类见图1-1。 集合结构中的数据元素之间除了 “同属于一个集合”的关系外,别无其他关系。 ...
  • 当一个结构,如数组、链表、树、图,在逻辑结构中只有一种定义,而在物理结构中却有两种选择... 分析:栈在逻辑结构中只能属于线性结构,而在物理结构中它可以使用顺序存储(数组),也可以使用链式存储(链表),...
  • 对于数据结构与算法的学习,我相信不管是新手还是老手,都会对“逻辑结构存储结构”产生很多的疑问。你可能觉得不就是两个简单的概念嘛,早就了然于胸了。 Wait! 先不要急着下定论,我们还是先来看一道题目。...
  • 数据结构之逻辑结构与物理结构(存储结构

    万次阅读 多人点赞 2017-10-15 21:22:11
    逻辑结构 逻辑结构分为四种类型:集合结构,线性结构,树形结构,图形结构。 所谓集合结构:表面意思,没有什么深刻意义,就是数据元素同属一个集合,单个数据元素之间没有任何关系。如下图所示。   ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 661,954
精华内容 264,781
关键字:

如何区分逻辑结构和存储结构