Ich habe eine kleine geschichtliche Frage, nämlich, wie der Titel sagt, ich suche nach frühen Verwendungen von Bäumen (als Datenstruktur, Suchbaum, was auch immer) in der Informatik.
Ich habe eine kleine geschichtliche Frage, nämlich, wie der Titel sagt, ich suche nach frühen Verwendungen von Bäumen (als Datenstruktur, Suchbaum, was auch immer) in der Informatik.
Antworten:
Wikipedia sagt, dass Cayley 1857 zum ersten Mal einen Baum in der Mathematik verwendete.
Da der Gebrauch in der Informatik direkt der Mathematik entnommen ist, erscheint es grundlegender, zu fragen, wann sie dort entstanden sind. Sofern Informatiker Bäume ursprünglich nicht anders nannten, scheint der erste Informatiker, der "Baum" verwendet, nicht bedeutender zu sein als beispielsweise der erste Australier, der "Baum" verwendet.
Nach Donald Knuths TAOCP, Vol. 1, pg. 459 Die folgenden Arbeiten können als eine der ersten Erscheinungen von Bäumen in CS angesehen werden.
Weitere Informationen und Referenzen finden Sie in TAOCP.
Jesaja: "Und es wird ein Stab aus dem Stamm Isais hervorkommen, und ein Zweig wird aus seinen Wurzeln wachsen."
Der Baum als Datenmodell für genealogische Informationen ist in der Tat sehr alt.
Ich fand diesen Artikel im (BCS) Computer Journal für 1960:
PF Windley: Bäume, Wälder und Neuordnung.
Er führt den Begriff "Bäume" ein, der von Douglas (1959) kurz "[Sandy Douglas]" beschrieben und Berners-Lee [Conway Berners-Lee, Vater von Tim] zugeschrieben wird.
Interessanterweise sind seine Bäume botanisch genauer als moderne CS-Bäume, da sie die Wurzel eher unten als oben haben!
Zufälligerweise handelt es sich bei dem letzten Zitat um ein Papier, das Windley gemeinsam mit Tony Rowland Jones und "LF Kay" verfasst hat. Dies ist ein Druckfehler für LR Kay, meinen Vater, der später die UCCA, das zentrale Zulassungssystem der Universität, leitete im Vereinigten Königreich.
Ein Brief von Conway BL an das Computer Journal mit Kommentaren zu diesem Artikel und eine Antwort von Windley sind auf die Seiten 174 und 184 der folgenden Ausgabe aufgeteilt:
http://comjnl.oxfordjournals.org/content/3/3/174.full.pdf+html http://comjnl.oxfordjournals.org/content/3/3/175.full.pdf+html
Lambda-Kalkül stammt aus den 1930er Jahren. Seine Grammatik ist eine frühe Anwendung von Bäumen, insbesondere abstrakten Syntaxbäumen. Jeder LC-Term ist ein Baum. Variablen sind die Blattknoten. Sowohl Abstraktions- als auch Anwendungsbegriffe bestehen aus anderen Begriffen, sodass sie keine Blattknoten sind.
Ich weiß nicht, wann LC-Begriffe zuerst als Bäume gedacht wurden. Die frühen Beweise mit LC erforderten jedoch eine Fallanalyse, ähnlich wie es Programmierer tun, die Programme für Lauf-ASTs schreiben.