V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
twirain
V2EX  ›  程序员

所以,究竟什么是“逻辑上”?

  •  
  •   twirain · Oct 31, 2018 · 3301 views
    This topic created in 2739 days ago, the information mentioned may be changed or developed.

    今天百度翻了一下线性表数据结构,里面写道:

    我们说“线性”和“非线性”,只在逻辑层次上讨论,而不考虑存储层次,所以双向链表和循环链表依旧是线性表。

    所以,究竟什么是“逻辑上”?

    18 replies    2018-10-31 23:35:49 +08:00
    maichael
        1
    maichael  
       Oct 31, 2018
    理论上和实际上?
    likuku
        2
    likuku  
       Oct 31, 2018
    抽象化 vs 具体实现 ?
    noNOno
        3
    noNOno  
       Oct 31, 2018   ❤️ 1
    合理就是逻辑上.
    推理了解一下
    p2pCoder
        4
    p2pCoder  
       Oct 31, 2018
    双向链表和循环链表 依旧满足逻辑上线性表的定义,除了 start 和 end 两个元素,都是 1 对 1 前后链接
    wizardoz
        5
    wizardoz  
       Oct 31, 2018
    双向链表、单链表、数组都是一种具体的数据结构,他们提供了对一个有序序列的不同操作能力。但是从逻辑上说,有序序列是一个东西。
    Danielhu229
        6
    Danielhu229  
       Oct 31, 2018
    你已经自问自答了,所谓逻辑上指的是,忽略存储上是否在内存中连续排列,比如是否存储在一个连续的内存区域,而只关心一些查询,比较,排序等操作的复杂性,在这一点上,是否在内存中连续不影响线性表的性质
    geelaw
        7
    geelaw  
       Oct 31, 2018 via iPhone
    就是你怎么想、观察、对待一个对象。

    举例:二叉树是一种层次对象,不会因为你用数组实现了一个满二叉树就变成了线性表。
    zealot0630
        8
    zealot0630  
       Oct 31, 2018
    线性表 是 没有分叉的树
    树 是 没有环的图

    你理解一下
    syahd
        9
    syahd  
       Oct 31, 2018 via Android
    数据结构的入门就是逻辑结构和物理结构啊。。推荐你看赵海英视频
    jswh
        10
    jswh  
       Oct 31, 2018
    程序中的逻辑上,一般是指某一个抽象层次上,个人感觉。
    zealot0630
        11
    zealot0630  
       Oct 31, 2018
    上面说图不准确 应该说连通图

    另外补充一下,逻辑上面的树是不指定树根的,两棵树形状一样,就是相同的树
    1a0ma0
        12
    1a0ma0  
       Oct 31, 2018 via iPhone
    内存是线性的呀…… 楼主没学硬件方面的课吗?
    STRRL
        13
    STRRL  
       Oct 31, 2018 via Android
    这么理解 设计上 和 实现上
    waytoshine
        14
    waytoshine  
       Oct 31, 2018   ❤️ 1
    “逻辑上”:是抽象层面上,纸上谈兵的东西
    “实现上”:物理实现上(计算机内存如何为这种逻辑结构提供存储的形式,也就是存储的实现)
    我透,“逻辑”这个词都算是一种思维上的元词了,楼主竟然问元词是啥意思。。。只能说,就是这个意思啊。。。
    wutiantong
        15
    wutiantong  
       Oct 31, 2018   ❤️ 1
    究竟什么是“逻辑上”?
    这个问题不好回答,正如楼上所说,“元词”的问题,很难讲清楚的。

    但是,单就楼主贴出的那句话来说:
    “只在逻辑层次上讨论” 要表达的意思就是后面的“不考虑存储层次”。

    这里所讨论的本质上是个语文问题:
    我们可以把原文变换成:「我们讨论“线性”和“非线性”时并不考虑存储层次,所以双向链表和循环链表依旧是线性表。」意思是完全相同的。
    “只在逻辑层次上讨论”这几个字在整句中并没有引入任何额外的含义,而且指代的意义也是模糊不清的,因此这大概只是原文作者的口癖抑或是为了彰显逼格罢了。
    shylockhg
        16
    shylockhg  
       Oct 31, 2018
    逻辑上这里特指的是和实现对应,如
    @geelaw 所说
    geelaw
        17
    geelaw  
       Oct 31, 2018 via iPhone
    @zealot0630 #8 “没有分杈”是有根树才有的概念,你想说的是“度为 1 的节点不超过两个”。
    geelaw
        18
    geelaw  
       Oct 31, 2018 via iPhone   ❤️ 1
    @geelaw #17 呃,不对,还有一个方向的问题。那应该提醒楼主 #8 第一行和第二行的“树”不是同一个概念。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2495 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 67ms · UTC 09:23 · PVG 17:23 · LAX 02:23 · JFK 05:23
    ♥ Do have faith in what you're doing.