“树”在计算机科学中的最早用途是什么?


Answers:


13

维基百科说,树木在数学上的首次使用是Cayley在1857年提出的。

由于计算机科学中的使用直接取自数学,因此询问它们何时起源于数学似乎更为基础。除非计算机科学家最初将树称为别的东西,否则第一个使用“树”的计算机科学家似乎并不比第一个使用“树”的澳大利亚人有意义。


Cayley可能创造了“ tree”一词,但是以前已经使用过树木(例如Kirchhoff所用)。在19世纪,数学家并不真正在意算法(这里有些例外)。在这些作品中,绝对没有像搜索树那样将树用作数据结构。
A.Schulz 2015年

11

根据Donald Knuth的TAOCP,第二卷 1,第 459以下论文可能被认为是CS中树木的最早出现之一。

  • HG Kahrimanian,《数字计算机的分析微分》,自动编程专题研讨会,1956-14
  • 艾弗森(KE Iverson)和约翰逊(LR Johnson) IBM公司研究报告RC-390,RC-603,1961年
  • AJ Perils和C.Thornton, C.Thornton,《穿线树木》,CACM 3,195–204,1960年

请查看TAOCP,以获取更多信息和更多参考。


谢谢,这看起来很有希望。第二个参考文献是否有标题?我手头没有TAOCP,我待会去图书馆。
john_leo

4
鉴于已知Knuth是一位非常勤奋的参考文献收集者,这是权威机构可能有效的论据。
拉斐尔

INVERSON,KE树的编程符号。II3M研究中心的研究报告R--390(1961年1月)。那是从这里: dl.acm.org/citation.cfm?id=366828,这也可能是一个很好的参考。
KWillets 2015年

@Raphael他从字面上写了关于计算机科学的书,不是吗……
corsiKa

6

以赛亚说:“从耶西的根茎出来,有一根杖,从他的根中长出一根树枝。”

这棵树作为家谱信息的数据模型确实非常古老。


2
“ ... 在计算机科学中。”
拉斐尔

@Raphael公平点,尽管可以说是一种数据结构,但它的名称很脆弱。
David Richerby 2015年

3
我倾向于Dijkstra的观点,即计算机科学完全是关于数据结构和算法的,与计算机无关。
迈克尔·凯

4

我在1960年的(BCS)计算机杂志上找到了这篇论文:

PF Windley:树木,森林和重新布置。

他介绍了“树”的概念,“由道格拉斯(Douglas(1959)进行了简要描述”,[桑迪·道格拉斯(Sandy Douglas)),并归因于Berners-Lee” [Tim的父亲Conway Berners-Lee]。

有趣的是,他的树木在植物学上比现代CS树木更精确,因为它们的根在底部而不是顶部!

http://comjnl.oxfordjournals.org/content/3/2/84.full.pdf+html?sid=a1c02733-1497-49e9-b308-a05c1dcca1df

巧合的是,本文的最后引用是Windley与Tony Rowland Jones和“ LF Kay”合着的一篇论文,这是我父亲LR Kay的错印,后者继而运行了中央大学录取系统UCCA在英国。

Conway BL写给《计算机杂志》的一封对此文章发表评论的信以及Windley的回复,分为以下几期的第174页和第184页:

http://comjnl.oxfordjournals.org/content/3/3/174.full.pdf+html http://comjnl.oxfordjournals.org/content/3/3/175.full.pdf+html


3

Lambda演算可以追溯到1930年代。它的语法是树的早期应用,特别是抽象语法树。每个LC术语都是一棵树。变量是叶节点。抽象和应用程序术语都由其他术语组成,因此它们是非叶节点。

我不知道LC术语最初是何时被认为是树木。但是,涉及LC的早期证明需要案例分析,就像程序员编写程序以执行AST一样。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.