整活笔记:“节点”与“结点”的辨析
本文并没有定论,仅有分析。
前言
节点和结点的使用并没有严格的分界线,其判定标准主要是学科对应的国标、汉语使用规则和平时书写的习惯。因此,特别对于算法竞赛,使用节点和结点均为正确的写法,但是为了区别于更常见的“时间节点”用法,使用“结点”被认为是更统一的做法。OI-Wiki 中也采取了这一种写法。
有的资料显示在计算机科学中通常使用节点,而在信息学与算法竞赛中通常使用结点。但实际上,这并不影响理解,并且在使用“节点”时,我们更偏向于描述有以下特征之一的点:
- 具有重要意义的(尤指在时间轴上)
- 具有处理信息能力的
而信息学中的节点(或结点)仅仅具有携带信息的能力,这一能力是否能被甄别为“处理信息能力”,是值得商榷的。接下来文中所有对于语文的解释,来自于《现代汉语词典 第七版》。
网络上关于节点与结点的讨论更多的在讨论硬件意义上的区别,而这实际上并没有什么参考价值(悲),所以我到处找参考资料,最后也没有得出一个明确的结论,只能大概给出一个方向,如有愿意更深入探究的同学,欢迎和我分享你的研究成果。
节点(或结点)的英文对应词有多重说法:
- node
- vertex
- joint
- pitch point
前置知识
在网络上,这两者被运用地十分混乱。
首先明确,这两者都来自于英文之中的
由于「结」字存在「两者之间存在某种关系」的意思,因此在表示前驱后继、父亲儿子的图论之中似乎有更深刻的含义。
柯林斯词典对于 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{Section} ,或译为"一段",即若干行)源定义语句,用一个符号名来表示,这个符号名变成目标码后,它表示一节可执行程序的起点。
此时译作“节点”是妥当的。在 IBM 的网络管理软件ACF/VTAM(虚拟远程通信存取方法的高级通信操作程序)中,常用 major node 来表示一大节源定义语句,其中通常包含许多同类的网络资源,如若干个应用系统,许多台终端;而用 minor node 来表示 major 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
数据网络中的一个点,在该点处有一个或多个功能部件与信道或数据电路互连。
因此在数据通信方面,结点是规范且专业的说法。鉴于
牛津英汉双解词典中的 Node 翻译为结点,表示“两条线或系统相交点”。
在术语在线中查询,节点的含义:
- 通讯科学技术:在网络拓扑中,网络任何支路的终端或网络中两个或更多支路的互连公共点。
- 计算机科学(两种写法都被接受,此处考虑图论):在数据结构的图形表示中代表数据元素的连接点或端点”。
但是你在数学术语中又会见到:
- 结点:图中联结一条或一条以上的边的点。是树形数据结构、图状数据结构或线图的组成部分。
并且不存在别称。
结论
因此更充分的证据表明在平时使用“结点”的表意更妥帖一些,但是这并不影响正常的交流。就目前状况而言,结点和节点均可以视作正确的写法,但是结点更被推荐。 但是注意一点,无论是节点还是结点,都只是翻译上的区别而已,因此在表达上无需太过于纠结。
上述资料的可信度:
国标
各位阅读的时候可以考虑一下不同 Reference 的权重。