¿Cuál es el primer uso de "árboles" en informática?


18

Tengo una pequeña pregunta de historia, a saber, como dice el título, estoy buscando los primeros usos de los árboles (como estructura de datos, árbol de búsqueda, lo que sea) en informática.


2
Es probable que haya un uso anterior del término en el contexto de la teoría de grafos.
Juho

Probablemente desde el principio . Oh, te refieres a ese tipo de árboles.
200_success

Respuestas:


13

Wikipedia dice que el primer uso del árbol en matemáticas fue por Cayley en 1857.

Dado que el uso en informática se toma directamente de las matemáticas, parece más fundamental preguntar cuándo se originaron allí. A menos que los informáticos originalmente llamaran a los árboles algo más, el primer informático en usar "árbol" no parece ser más significativo que, por ejemplo, el primer australiano en usar "árbol".


Cayley probablemente acuñó la palabra "árbol", pero los árboles se han usado antes (por ejemplo, Kirchhoff). En el siglo XIX, a los matemáticos no les importaban los algoritmos (algunas excepciones aquí). Los árboles definitivamente no se usaron como una estructura de datos como un árbol de búsqueda en estos trabajos.
A.Schulz

11

Según el TAOCP de Donald Knuth, vol. 1, pág. 459 los siguientes documentos podrían considerarse como una de las primeras apariciones de árboles en CS.

  • HG Kahrimanian, Diferenciación analítica por computadora digital , Simposio sobre programación automática, 6–14, 1952
  • KE Iverson y LR Johnson, informes de investigación de IBM Corp. RC-390, RC-603 , 1961
  • AJ Perils y C. Thornton, árboles roscados , CACM 3, 195–204, 1960

Consulte TAOCP para obtener más información y más referencias.


Gracias, eso parece muy prometedor. ¿La segunda referencia tiene un título? No tengo TAOCP a mano, iré a la biblioteca más tarde.
john_leo

44
Este es un argumento por autoridad que realmente puede funcionar, dado que Knuth es conocido por ser un diligente recolector de referencias.
Raphael

INVERSON, KE Una notación de programación para árboles. Informe de investigación R - 390, Centro de investigación II3M (enero de 1961). Eso es desde aquí: dl.acm.org/citation.cfm?id=366828, que también podría ser una buena referencia.
KWillets

@Raphael Él escribió literalmente el libro en la informática, ¿no es así ...
corsiKa

6

Isaías: "" Y saldrá una vara del tallo de Jesé, y una rama crecerá de sus raíces "

El árbol como modelo de datos para la información genealógica es muy antiguo.


2
"... en informática ".
Raphael

@Raphael Fair point, aunque podría decirse que es una estructura de datos, que es tenuemente informática-por-otro-nombre.
David Richerby

3
Tiendo a la opinión de Dijkstra de que la informática se trata de estructuras de datos y algoritmos, y tiene muy poco que ver con las computadoras.
Michael Kay

4

Encontré este artículo en el (BCS) Computer Journal para 1960:

PF Windley: árboles, bosques y reorganización.

Introduce el concepto de "árboles", "descrito brevemente por Douglas (1959)" [Sandy Douglas] "y atribuido a Berners-Lee" [Conway Berners-Lee, padre de Tim].

Curiosamente, sus árboles son botánicamente más precisos que los árboles CS modernos, ya que tienen la raíz en la parte inferior en lugar de la parte superior.

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

Casualmente, la última cita en el documento es a un documento que Windley fue coautor con Tony Rowland Jones y "LF Kay", que es un error de imprenta para LR Kay, mi padre, quien pasó a administrar UCCA, el sistema central de admisión de la Universidad en el Reino Unido.

Una carta de Conway BL al Computer Journal comentando este documento, y una respuesta de Windley, se divide entre las páginas 174 y 184 del siguiente número:

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


3

El cálculo de Lambda se remonta a la década de 1930. Su gramática es una aplicación temprana de árboles, específicamente árboles de sintaxis abstracta. Cada término LC es un árbol. Las variables son los nodos hoja. Tanto los términos de abstracción como de aplicación consisten en otros términos, por lo que son nodos no hoja.

No sé cuándo los términos LC se consideraron por primera vez como árboles. Sin embargo, las primeras pruebas que involucraban LC requerían un análisis de caso, muy similar a lo que hacen ahora los programadores que escriben programas para caminar AST.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.