精华内容
下载资源
问答
  • 如何区分上中下结构
    千次阅读
    2020-08-16 20:18:19

    我们拿线性表的顺序存储结构-顺序表来讲解

    线性表元素的逻辑序号是从1开始的,而对应顺序表的data[]数组下标是从0开始的(这种下标成为物理序号),要注意他们之间的转化

    通俗易懂,如下图所示:(图来自网络)
    在这里插入图片描述表中的a对应的物理序号是0,逻辑序号是1

    更多相关内容
  • 逻辑结构,存储结构,物理结构区分

    千次阅读 多人点赞 2018-01-29 17:48:51
    存储结构(又称物理结构):数据结构在计算机的表示(又称映像)。 很好理解,但是光靠这些官话,做题保准做一个错一个 不信?下面放一道题: 线索二叉树是一种( )结构? A. 逻辑 B. 逻辑和存储 C. ...

    官方定义

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

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

    不信?下面放一道题:

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

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

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

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

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

    展开全文
  • 一、问题背景 不管是计算机专业的考研初试还是工作面试,数据结构都是很重要的课程。...图是博主用Xmind绘制的数据结构全部的逻辑结构,存储结构,数据计算的最详细的思维导图。 如果你想具体了解一下逻...

    一、问题背景

    不管是计算机专业的考研初试还是工作面试,数据结构都是很重要的课程。而博主最近看的王道论坛2020的数据结构开篇就有数据结构的三要素:逻辑结构,存储结构,数据计算,而在数据结构的考研真题和计算机笔试中,总有区分逻辑结构、数据结构的题目。本文就结合所有知识点充分讲解各个元素之间的区别与联系。

    二、数据结构的三要素:逻辑结构,存储结构,数据计算

    1.数据结构的思维导图

    下图是博主用Xmind绘制的数据结构三要素逻辑结构,存储结构,数据计算的最详细的思维导图。
    在这里插入图片描述
    如果你想具体了解一下逻辑结构中的线性表,顺序表,有序表,链表,数组的概念的区别与联系,可以点击博主的博文数据结构考研:线性表,顺序表,有序表,链表,数组的概念的区别与联系(软件工程/计算机/王道论坛)

    如果你想具体了解一下存储结构中的随机存取、顺序存取、随机存储和顺序存储的区别/详细解释,可以点击博主的博文数据结构考研:随机存取、顺序存取、随机存储和顺序存储的区别/详细解释(计算机/软件工程/王道论坛)

    2.逻辑结构、数据结构的实例分类

    在数据结构的考研真题和计算机笔试中,总有区分逻辑结构、数据结构的题目,因此博主总结了以下绝大部分的逻辑结构和数据结构:
    逻辑结构:有序表、线性表、栈、队列、串、广义表、非线性表、集合、树、一般树、二叉树、图、有向图、无向图。
    数据结构:顺序表、数组、链表、单链表、双链表、循环链表、静态链表、索引表、哈希表、线索二叉树。

    3.逻辑结构、数据结构的区分方法

    逻辑结构数据结构的区分判定方法:当一个结构(如数组、链表、树、图),在逻辑结构中只有一种定义,而在存储结构中却有两种或多种定义,那么这个结构就属于逻辑结构;相反,当此结构在原有基础上加上了某种限定词(如二叉树->线索二叉树),使得其在存储结构中只有一种定义,那么这个结构就称为数据结构

    举例1:属于什么结构?
    分析:在逻辑结构中只能属于线性结构,而在存储结构中它可以使用顺序存储(数组),也可以使用链式存储(链表),所以说是一种逻辑结构。

    举例2:线索二叉树属于什么结构?
    分析:首先因为二叉树既可以顺序存储又可链式存储,故可以得到二叉树是一种逻辑结构。但是线索二叉树二叉树加上限定词线索后的链表结构(不能用顺序存储),也就是说,线索二叉树在计算机内部的只有一种存储结构,所以线索二叉树是数据结构。

    逻辑结构数据结构的区别点在于:数据的逻辑结构是独立于在计算机中的存储结构的,数据的存储方式有多种不同的选择。例如栈是一种逻辑结构,它可以用顺序存储也可以用链式存储;而数据结构是既可以描述逻辑结构又可以描述存储结构数据运算,必须包含这三种元素。所以像顺序表、哈希表、单链表都是数据结构。


    本文参考文献:
    [1]线性表,顺序表,链表,数组的区别与联系
    [2]数据结构知识整理4线性表——顺序表、链表、有序表
    [3]有序表
    [4]如何判断某种结构是逻辑结构还是存储结构或数据结构?
    [5]随机存取、顺序存取、随机存储和顺序存储
    [6]随机存取-百度百科
    [7]顺序表(顺序存储结构)及初始化详解
    [8]磁盘系统基本概念以及磁盘的顺序读写与随机读写
    [9]顺序存储结构-百度百科
    [10]四种数据存储结构—顺序存储 链接存储 索引存储 散列存储

    展开全文
  • 逻辑结构?存储结构?傻傻分不清……

    千次阅读 多人点赞 2020-06-28 21:45:53
    对于数据结构与算法的学习,我相信不管是新手还是老手,都会对“逻辑结构、存储结构”产生很多的疑问。你可能觉得不就是两个简单的概念嘛,早就了然于胸了。 Wait! 先不要急着定论,我们还是先来看一道题目。...

    对于数据结构与算法的学习,我相信不管是新手还是老手,都会对“逻辑结构、存储结构”产生很多的疑问。你可能觉得不就是两个简单的概念嘛,早就了然于胸了。

    Wait!

    2rGp3S

    先不要急着下定论,我们还是先来看一道题目。实践是检验真理的唯一标准嘛!(萌新略过)

    • 例题1

    3xoodT

    选哪个呢?是不是很纠结?有答案了没?

    别急,我们再来看一道题。

    • 例题2

    TVmcFc

    如果这两道题你觉得very easy,那么接下来的内容,恭喜你,不必再看了;如果仍然觉得哪里有问题,以及不敢确定自己的答案,还是来跟着我过一遍知识吧,在阅读的过程中,思考上面的两个问题。

    注:以上例题来源于王道:《数据结构与算法》

    逻辑结构:我不要你觉得

    你应该知道,数据结构的三要素是:逻辑结构、存储结构、数据运算。

    首先我们来回答一个问题:什么是逻辑结构呢?

    从定义的角度来说,所谓逻辑结构,指的就是数据之间的逻辑关系,从逻辑关系上来描述数据。逻辑结构又包括线性结构和非线性结构两种,线性表是一种典型的线性结构,图是一种典型的非线性结构,特别注意:逻辑结构与存储结构无关。

    看了定义是不是觉得非常混乱?

    那么,你觉得什么是逻辑上的关系呢?我们来思考这个问题:”顺序表是逻辑结构吗?“

    如果你认为,”线性表是一种线性结构,顺序表是属于线性表的,所以,顺序表应该是一种逻辑结构。“

    很不幸,这种想法是非常错误的!!!

    BQK9hl

    所以,我们在判断逻辑关系的时候,不要想当然,不要你觉得,应该理性判断。

    我们可以认为逻辑结构是一种”依赖关系“,描述的仅仅是数据元素之间的关系,除了描述数据元素之间的关系外,再也没有其他的含义了

    比如,我们回顾刚刚的问题,”顺序表是逻辑结构吗?“

    答案:不是。虽然顺序表是一种线性结构,但是你要注意,顺序表背后包含着”顺序存储的意思“。也就是说,顺序表既能够描述逻辑结构,也能够描述物理结构。所以,这是一种混合类型。

    再来,”有序表是逻辑结构吗?“

    显然,是的。有序表指的是数据元素按照一定顺序排列的线性表,除了描述“两个元素之间有序”的依赖关系以外,它再也没有别的意思了。

    所以,你是不是能够体会到逻辑结构的独特之处了?

    Ks6aJg

    总结一下,逻辑结构指的就是数据元素之间的关系,这种关系可以是如下的几种:

    • 没有关系:一个集合,里面的元素除了同属一个集合以外,没有其他任何关系。很明显,这是一种非线性的关系。
    • 一对一:线性结构。线性结构中的元素都是一对一的。你可以简单的把它理解为一个串,仅有一个开端和一个结尾结点,并且除了开端和结尾外,每个结点只能有一个前驱结点和一个后继结点。比如字符串,如图所示:

    WJse0V

    • 一对多:图或者树就是两种典型的一对多的非线性关系。从图中可以看到,非线性结构的树和图中的结点除了第一个结点和最后一个结点以外,其余结点能够有一个或者多个前驱和后继。

    qro9Uz

    最后,如果让你判断一个名词是否为逻辑结构,我们应该怎么做?可以考虑以下几点:

    • 首先,判断名词是属于线性结构还是非线性结构

    • 其次,由于数据的逻辑结构是独立于存储结构的,所以考虑名词背后是否暗含存储结构?如:顺序表。(别急,关于存储结构,我们马上就讲)如果暗含存储结构,那么一定不是逻辑结构。

    存储结构:我要我觉得

    存储结构就非常好理解了,存储结构,也被称作是物理结构,表述的是含有某种逻辑关系的元素在计算机中存储的方式。可以理解为数据元素在存储器上的排列方式。

    总的来说,存储结构只有四种,分别是顺序存储、链式存储、索引存储、散列存储(哈希存储)。

    1. 顺序存储:所谓顺序存储,就是把逻辑上相邻的数据元素,存储到计算机的存储器上时,在物理上也是相邻的。最简单的实现就是数组,我们可以直接把一列元素存储在数组中。显然,这种实现存储的方式优点是:能够实现随机存取,即通过数组的下标,我们能够很轻松的找到数据元素获取或者修改它。

    2. 链式存储:链式存储,就是我们所熟知的链表。我们无需像顺序存储那样,单独开辟一片连续的存储空间,只需要用到的时候直接分配空间,用指针来实现整个一对一逻辑结构的实现。这样子做虽然节省了空间、动态扩容,但是问题也很明显:当你想找到编号为n的元素,只能从表头开始遍历。

    uB0G8b

    1. 索引存储:这种存储方式类似于我们的书和目录的关系。比如书中”第五章“的内容在35页,我们想要找到它,只需要浏览目录,然后通过页码找到相关的内容。一般存储的时候都是【关键字,地址】这种形式。

    2. 散列存储:对于散列存储,我们可以设想这样一个场景。博主我买了一套房子(买不起的,别想了.jpg),本来买的时候选中了0322这间,但是由于施工问题,整栋楼是从0000开始编号的(买的时候是按照0001编号),这样就造成了一个问题,现在的0322号已经不是我的了,我的是0321。就是原来的房间号减去1。所以,散列存储实际上就是做了一个函数关系的映射,由x去找y,如果y=x+1,那么x=1的元素就应该去y=2位置寻找。这样理解起来应该没有困难了吧。

    l8Gh94

    回过头来,我们看文章开头的第二个问题:

    A选项,循环队列,实际上是用数组实现的,也就是顺序存储;B选项,链表,很明显,这是一种链式存储;C选项,哈希表,这已经是明示了——哈希存储;最后一个,栈是一种很重要的逻辑结构,既能够用顺序存储实现也能够由链式存储实现。所以,答案就是D。

    存储结构的核心是:只有这四种,我要我觉得,再也没有其他的可能了。

    最后

    以上就是文章的所有内容了。如果你仍有疑问,欢迎随时留言,或者后台@我。

    如果你喜欢我的文章,欢迎关注我的微信公众号:最高权限比特流

    公号专注”计算机专业大学生成长,在这里,希望你能够收获知识,能够体悟程序人生。“

    虽然我们此刻仍然弱小,但希望我们能够一路前行,一起成长!

    ”愿你走出半生,归来仍是少年。“

    公众号

    展开全文
  • 最近在看考研数据结构,发现关于逻辑结构和存储结构这点不是很懂,然后百度找了一下,发现一篇非常详细的文章,转载一下,转载博客地址:http://c.biancheng.net/view/7524.html。
  • 数据结构:八大数据结构分类

    万次阅读 多人点赞 2018-09-05 18:23:28
    数据结构分类 数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合...数组是可以再内存连续存储多个元素的结构,在内存的分配也是连续的,数组的元素通过数组下标进行访问,数组下标从0开始...
  • 结构化数据和非结构化数据是大数据的两种类型,这两者之间并不存在真正的冲突。...了解两者之间的差异是充分利用这两者的关键,特别是在从Web数据获益时。 什么是结构化数据 大多数人都熟悉结构化数据
  • DiffServ:区分服务体系结构

    千次阅读 2017-08-03 21:27:23
     区分服务体系结构(DiffServ)定义了一种可以在互联网实施可扩展的服务分类的体系结构。一种“服务”,是由在一个网络内,在同一个传输方向,通过一条或几条路径传输数据包时的某些重要特征所定义的。这些特征...
  • 1.结构张量原理 此处所说的张量不是相对论或黎曼几何里的张量,黎曼几何的张量好多论文都叫张量场...这个公式太常见了,在harris角点检测就用到了。其中Ix,Iy就是原对原图像在x和y方向求得的偏导。然后求矩阵E的
  • 计算机考研复试面试常问问题 数据结构篇(

    万次阅读 多人点赞 2020-04-25 19:16:23
    计算机考研复试面试常问问题 数据结构篇() 使用前需知(拒绝白嫖,如果对你有帮助,你只需点个赞就行): 注意:有人在闲鱼盗卖我的资料,而且还有很多同学买了,请各位擦亮双眼,我是整理出来免费分享给大家...
  • 【数据结构】节点和结点,到底怎么区分

    万次阅读 多人点赞 2018-11-06 17:10:39
    你们有没有纠结过这样一个问题,就是数据结构链表结点的“结”到底是哪个字? 说实话,在写这篇博客之前,我一直以为链表的结点叫“节点”,,所以不管是给代码写注释,还是理解方面,我都觉得是“节点”,今天...
  • 【JAVA高级技术】Java 处理结构化数据多种解决方案

    万次阅读 多人点赞 2022-04-23 23:07:18
    Java 处理结构化数据多种解决方案
  • 论文 | 研究方法 —— 结构方程

    千次阅读 多人点赞 2021-06-01 20:23:29
    结构方程模型属于多变量统计分析,整合了因素分析与路径分析两种统计方法,同时可检验模型的显变量(测量题目)、潜变量(测量题目表示的含义)和误差变量直接按的关系,从而活动自变量对因变量影响的直接效果、...
  • 最近看了三极管、MOS管、JFET管的结构图,回想起自己大学期间一直对这几个半导体器件的符号认不清楚,后来总结了一下,发现二极管、三极管、MOS管、JFET管都是有P型半导体、N型半导体组合而成,所有方向也可以采用...
  • 2)存储结构:(物理结构),在计算机存储器的存储形式 逻辑结构的分类: 1.按逻辑结构分为:(线性结构+非线性结构) 2.逻辑结构的四种基本形态: 1)数据元素间没有任何关系——集合 2)数据元素间有线性关系...
  • 员工离职,老板最关心的可能并...在开始谈论企业非结构化数据管理之前,我们先来回顾一下非结构化数据和结构化数据的概念。 01、机构化数据 结构化数据是指可以使用关系型数据库表示和存储,表现为二维形式的数据。简
  • 计算机考研复试面试常问问题 数据结构篇(

    万次阅读 多人点赞 2020-04-23 17:21:14
    计算机考研复试面试常问问题 数据结构篇() 使用前需知(拒绝白嫖,如果对你有帮助,你只需点个赞就行): 需要pdf直接打印版,可在公众号"程序员宝藏"回复复试上岸获取(会持续更新) 在复习过程,我用心...
  • 冯诺依曼结构和哈佛结构

    千次阅读 多人点赞 2021-07-25 10:57:04
    全面理解冯诺依曼结构和哈佛结构 CPU采用的是哈佛结构还是冯诺依曼结构? 0. 前言 哈佛结构和冯诺依曼结构都是针对于CPU来说的。 1. 冯诺依曼结构 冯诺伊曼结构又称为普林斯顿体系结构,是一种将程序存储器和数据...
  • 1.结构化数据(先有结构,再有数据): 是指由二维表结构来逻辑表达和实现的数据,严格地遵循数据格式与长度规范,主要通过关系型数据库进行存储和管理。也称作行数据,一般特点是:数据以行为单位,一行数据表示一...
  • JVM之内存结构详解

    万次阅读 多人点赞 2019-10-18 12:49:05
    对于开发人员来说,如果不了解Java的JVM,那真的是很难写得一手好代码,很难查得一手好bug。同时,JVM也是面试环节的重灾区。...下面,开启我们的第一篇文章《JVM之内存结构详解》。 学习也是要讲究方式方法...
  • 28、29、在数据库设计过程,设计用户外模式属于(C );数据的物理独立性和数据的逻辑独立性是分别通过修改( A)来完成的。 A.概念结构设计 B.物理设计 C.逻辑结构设计 D.数据库实施 A.模式与内模式之间的映像...
  • 根据依存树分值包含的子树的复杂度,基于图的依存分析模型可以简单区分为一阶和高阶模型。 高阶模型可以使用更加复杂的子树特征,因此分析准确率更高,但是解码算法的效率也会下降。基于图的方法通常采用基于动态...
  • 数据结构——逻辑结构&物理结构的区别用法

    万次阅读 多人点赞 2020-02-10 17:00:13
    按照视点的不同,可以把数据结构分为逻辑结构和物理结构: 基本的目标就是将数据及其逻辑关系存储到计算机的内存 一:逻辑结构 是指数据对象数据元素之间的相互关系 面向问题的 可具体分为以下四种关系 ...
  • Redis - 底层数据结构与持久化简述

    万次阅读 多人点赞 2021-10-20 23:14:07
    Redis并没有直接使用C语言的字符串,而是定义了一种简单动态字符串(simple dynamic string)作为Redis的默认字符串实现,简称SDS。 在Redis,C语言的字符串只会用于一些无需对字符串修改的地方,如日志打印...
  • 冯诺依曼与哈佛结构的区别

    万次阅读 多人点赞 2019-06-06 17:42:53
    cortex M3,M4主要采用哈弗结构        个人理解:最主要的区别在于程序空间和数据空间是否是一体的,冯·诺依曼结构数据空间和地址空间是不分开的,而哈佛结构数据空间和地址...
  • 由于文章有点多,并且发的文章也不是一个系列一个系列发的,不过我的文章大部分都是围绕着 数据结构 + 算法 + 计算机网络 + 操作系统 + Linux + 数据库 这几个方面发的,为了方便大家阅读,我整理了一波。...
  • 【数据结构】八种常见数据结构介绍

    万次阅读 多人点赞 2021-02-05 13:59:44
    数据结构是计算机存储、组织数据的方式。一种好的数据结构可以带来更高的运行或者存储效率。数据在内存是呈线性排列的,但是我们可以使用指针等道具,构造出类似“树形”的复杂结构。下面介绍八个常见的数据结构
  • SQL SERVER查询区分大小写

    千次阅读 2018-05-02 20:57:39
    一般SQL Server数据库在查询数据的时候,都是默认不区分大小写的,但是如果我们有特殊需要,要对数据查询的时候区分大小写,我们可以使用COLLATE 来实现这个需求,测试数据:--测试数据 if not object_id(N'Tempdb.....
  • 怎么把一个列表的正数和负数区分出来,并且让这些正数归为一组一组,负的归为一组一组 有三种方法可以考虑一下 最简单的方法,直接调用函数即可 import itertools list1 = [1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1,-1,2,...
  • mysql数据库表名区分大小写

    千次阅读 2021-01-28 02:46:29
    使用mysql的时候,创建的表明都是大写的,但是...1、修改MySql配置文件vi /etc/my.cnf ,在[mysqld]配置增加 lower_case_table_names=1 ,(0表示区分大小写),然后重启mysql2、如果还没创建数据库,就可以直接用了...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 664,814
精华内容 265,925
热门标签
关键字:

如何区分上中下结构