zoukankan      html  css  js  c++  java
  • 关于树结构中”度“来源的思考

      上一篇blog主要简述了树、二叉树相关的定义和类型。
      其中一个很重要、很基础的概念就是节点的度。大家有没有想过,为什么要用“度”作为子节点个数的量化单位呢?按理说,如果是子节点个数,用“子”或者“孩”岂不是更好理解?
      那这里要想到,计算机整个体系实际上是一种舶来品,我们需要参照原体系中的定义来进行翻译。所以,我找了一些关于树相关的数据结构的出处,但这个“度”其实就是直白地用degree进行了翻译。
      是不是degree有一些什么特殊的含义,能够用来表示近似子嗣的概念呢?于是我去查了degree的英文释义,但没有什么收获,基本的含义都是表示“程度”。

      在各种查询之后,发现图论中也有“度”这个概念。但与数据结构中树用“度”来表示子节点个数不同,这里的“度”是用来表示节点所连接边的条数,而在有向图中,还有“入度”与“出度”的概念。仔细想想,如果把树结构,连接各个点的边,都从上到下设置为有向,那么数据结构中的“度”与有向图中的“出度”就是相同的了。所以,查到这里我觉得两者应该是同源的。

      那么,图论中为什么用度来定义相关的属性呢?来源自哪里?只能继续Google咯.. 在一篇介绍“有限元分析”中的基本概念时,我看到了一些熟悉的词汇:链接

    这里的node,element,degree,boundary都是图论中的重要基础概念。其中对于degree的表述这里用到了degree of freedom。虽然不确定有限元分析与图论的准确关系,但是至少,两者是非常紧密的。
      看到这里,我好像有点明白了。节点处与外界相连的边,其实就是这个节点能够到其它节点的可能的路径,边越多,路越多,可能性就越多,说自由度更高也就能理解了。图论中还有专门的主题讨论节点这种自由度的分布问题。这里我就大胆臆测,图论中的“度”,其实就是degree of freedom。

      在树这种结构中,接触到度这个概念,还特意地要去强调,度指的是子节点的个数,不包含子节点的子节点在内。但是理解到了自由度这个层面上,也就不会有将子节点的边数计算在内的想法了。

    -----------------------------------------------------------------------

      关于一些基础的,很重要的概念追根溯源,我个人觉得还是很重要。本身如果你心存疑问,就说明多多少少,这种概念和自己的理解是有冲突的,有了冲突如果不去解决,那么我们会本能地把它排斥、遗忘。如果想要内化这些概念,我觉得只有找到它的根源。
      很多人会觉得,这只是文字游戏,我们只需要了解真正技术的原理就好了。我认为这样的观点还是太功利了,如果说要想在计算机这个行业走得远、走得稳、走得快乐,那我觉得只要是自己有疑问的地方,都要积极地去探索,而不单单是那些关键技术。正是这些探索伴随着思考,才能给我们带来真正的收获感,同时让我们对于一些概念、原理掌握地更好,可以说对于一些基础性的知识,我们真的需要这份闲情逸致来慢慢地思考,才能够达到真正的吸收和掌握。如果不去思考一些有趣的问题,单纯背八股又有什么乐趣呢?

  • 相关阅读:
    常见图片格式PNG,JPEG,BMP,GIF区别总结
    sql在所有存储过程中查询包含某字符串的执行语句
    数字取整或保留小数四舍五入的正确写法
    SVG路径path的贝塞尔曲线指令
    查询总耗CPU最多与平均耗CPU最多的SQL语句
    MIME 参考手册
    SQL语句复制父子级表数据
    去掉数字格式结尾多余的零,补充数字格式结尾需要的零
    设置微信分享的标题 缩略图 连接 描述
    linux环境下php开启redis扩展(centos6.8)
  • 原文地址:https://www.cnblogs.com/bruceChan0018/p/15268030.html
Copyright © 2011-2022 走看看