整活笔记:“节点”与“结点”的辨析

· · 个人记录

本文并没有定论,仅有分析。

前言

节点和结点的使用并没有严格的分界线,其判定标准主要是学科对应的国标、汉语使用规则和平时书写的习惯。因此,特别对于算法竞赛,使用节点和结点均为正确的写法,但是为了区别于更常见的“时间节点”用法,使用“结点”被认为是更统一的做法。OI-Wiki 中也采取了这一种写法。

有的资料显示在计算机科学中通常使用节点,而在信息学与算法竞赛中通常使用结点。但实际上,这并不影响理解,并且在使用“节点”时,我们更偏向于描述有以下特征之一的点:

而信息学中的节点(或结点)仅仅具有携带信息的能力,这一能力是否能被甄别为“处理信息能力”,是值得商榷的。接下来文中所有对于语文的解释,来自于《现代汉语词典 第七版》。

网络上关于节点与结点的讨论更多的在讨论硬件意义上的区别,而这实际上并没有什么参考价值(悲),所以我到处找参考资料,最后也没有得出一个明确的结论,只能大概给出一个方向,如有愿意更深入探究的同学,欢迎和我分享你的研究成果。

节点(或结点)的英文对应词有多重说法:

前置知识

在网络上,这两者被运用地十分混乱。

首先明确,这两者都来自于英文之中的 \texttt{node},节点取「节」字的「物体段与段之间连接的地方」的意思,而取「结」字的取的是「凝聚,凝结」之意。由此看来,似乎节点才是正确的写法,但是从语文落实到具体的使用中,还存在争议。

由于「结」字存在「两者之间存在某种关系」的意思,因此在表示前驱后继、父亲儿子的图论之中似乎有更深刻的含义。

柯林斯词典对于 Node 的翻译如下:

  • crunode mathematics

a point at which two branches of a curve intersect, each branch having a distinct tangent

曲线的两个分支相交的点,每个分支都有一个明显的切线

  • mathematics, linguistics

one of the objects of which a graph or a tree consists; vertex

图或树所包含的对象之一;顶点

  • computing an interconnection point on a computer network

计算计算机网络上的一个互连点

如果取 \texttt{vertex} 作为点的英文词源,网络翻译与词典则均更倾向于顶点。

节点说

在计算机软件的定义中,\texttt{node} 指:

一节(\texttt{Section},或译为"一段",即若干行)源定义语句,用一个符号名来表示,这个符号名变成目标码后,它表示一节可执行程序的起点。

此时译作“节点”是妥当的。在 IBM 的网络管理软件ACF/VTAM(虚拟远程通信存取方法的高级通信操作程序)中,常用 major node 来表示一大节源定义语句,其中通常包含许多同类的网络资源,如若干个应用系统,许多台终端;而用 minor node 来表示 major node 之中的某一小节(甚至是一句)源定义语句,对应具体的一种网络资源,如一台终端,一个应用程序,一条邮路等。

由此可以看出,在作为有处理能力个体的情况下,使用“节点”这一称谓是恰当的。

根据现汉词典来看,存在“节点”表示“电路中连接三个或三个以上支路的点”或“整体事物中某个关键点”,而并没有“结点”这一用词。从规范汉语上看,“节点”是正确的说法。对于其英文的词根,通过谷歌翻译、有道翻译、百度翻译都查询出了 \texttt{node} 译作节点的说法。

中立说

由于查阅不到学术文献,我去网络上进行了寻找,得到一种普遍的答案如下:

节点是一个实体,它具有处理的能力。

结点是一个交叉点、一个标记,算法中的点一般都称为结点,数据集合中的每一个数据元素都用中间标有元素值的方框来表示,我们称它为结点。

我对于这一个回答存疑,因为它并没有提出可靠的证据表明“节点”这一名称代表了具有处理能力。“结点”同样在汉语中并不存在交结之意。

在计算机网络领域内,ISO 国际标准化组织把 node 定义为:A point at which one or more functional units interconnect transmission channels or data circuits(一个或多个功能单元相互连接传输通道或数据电路的点)。

由于 ISO 定义中规定的是计算机网络中物理设备和通信线路的连接点,因此也有译作“网点”一说,然而这已然超出了我们所讨论的范畴。

结点说

根据 GB5271.9-86《中华人民共和国国家标准 数据处理词汇 09 部分数据通信》,结点:

09.02.02 结点 node

数据网络中的一个点,在该点处有一个或多个功能部件与信道或数据电路互连。

因此在数据通信方面,结点是规范且专业的说法。鉴于 \texttt{node} 所表达的意思在此处实际上是多个功能部件(或类似的内容)的相连之处,这对于信息学来说是有借鉴意义的。

牛津英汉双解词典中的 Node 翻译为结点,表示“两条线或系统相交点”。

在术语在线中查询,节点的含义:

但是你在数学术语中又会见到:

并且不存在别称。

结论

因此更充分的证据表明在平时使用“结点”的表意更妥帖一些,但是这并不影响正常的交流。就目前状况而言,结点和节点均可以视作正确的写法,但是结点更被推荐。 但是注意一点,无论是节点还是结点,都只是翻译上的区别而已,因此在表达上无需太过于纠结。

上述资料的可信度:

国标 > 术语 > 现汉词典 > 英汉词典 > 网络释义

各位阅读的时候可以考虑一下不同 Reference 的权重。