为什么树木在计算机科学中会向下生长?
我感觉它可以回溯到打印机,并且遍历树的程序首先打印根,然后使用无底纸叠的概念来表达可能遇到的不确定的递归级别。
参考文献:
树木向下生长,其根在页面顶部,叶子在下方
从“ 神圣的战争”和“和平请愿”谈起。
按照惯例,树木被画成向下生长
真实的树木从根部向上生长到天空,而计算机科学的树木从根部向下生长
摘自David Schmidt的讲义。
为什么树木在计算机科学中会向下生长?
我感觉它可以回溯到打印机,并且遍历树的程序首先打印根,然后使用无底纸叠的概念来表达可能遇到的不确定的递归级别。
参考文献:
树木向下生长,其根在页面顶部,叶子在下方
从“ 神圣的战争”和“和平请愿”谈起。
按照惯例,树木被画成向下生长
真实的树木从根部向上生长到天空,而计算机科学的树木从根部向下生长
摘自David Schmidt的讲义。
Answers:
只是一个猜测:
树形结构向下生长(根在顶部,叶在底部),因为人们从页面顶部向底部阅读。此外,如果要绘制一棵跨越几页的大树,要求读者先跳过几页然后向后工作会很尴尬。
此外,无论公约是出于上述原因还是由于其他原因而启动的,我们今天都在继续实践,正是因为它是公约。我们有相应的术语,例如顶层节点(意味着根),如果我们将结构的根放在底部,则意义不大。
该约定似乎源于Coffman-Graham算法的设计:
“ ...用于将部分有序集合的元素排列为一系列级别。算法选择一种安排,以便将按顺序依次出现的元素分配给较低级别,并且每个级别都有一个数字不超过固定宽度边界W的元素的数量。”
他们在1972年发表的论文(PDF)显示了从上到下绘制的有向无环图。以相同的方式表示树是很短的步骤。
有关分层可视化的这篇文章,对此可视化还有一些补充说明。
从top > down
和绘图left > right
在计算机科学中很流行,因为它们是书面英语的开始方向。考虑到大多数计算机科学论文都是用英语撰写的,而不管作者的母语是什么,这将是绘制图表的最普遍的方式。
对于英语阅读者来说,从其他任何一种选择中读取图形top > down
或left > right
比其他任何一种读取图形都更为自然。
搜索images.google.com directed tree graph
并查看结果。唯一的树形图,我可以发现,去了是UML类图,只因为这是UML选择了类图的惯例。所有其他UML图都转到left > right
或up > down
。
我会考虑从down > up
阅读顶部发布的电子邮件线程中读取自然的有向树图;这完全是不自然的。