Ho una piccola domanda di storia, vale a dire, come dice il titolo, sto cercando i primi usi degli alberi (come struttura di dati, albero di ricerca, qualunque cosa) nell'informatica.
Ho una piccola domanda di storia, vale a dire, come dice il titolo, sto cercando i primi usi degli alberi (come struttura di dati, albero di ricerca, qualunque cosa) nell'informatica.
Risposte:
Wikipedia afferma che il primo uso dell'albero in matematica fu da Cayley nel 1857.
Dato che l'uso dell'informatica è preso direttamente dalla matematica, sembra più fondamentale chiedere quando hanno avuto origine lì. A meno che gli informatici originariamente non chiamassero gli alberi qualcos'altro, il primo scienziato informatico ad usare "albero" non sembra più significativo, per esempio, del primo australiano che usa "albero".
Secondo il TAOCP di Donald Knuth, vol. 1, pag. 459 i seguenti documenti potrebbero essere considerati come una delle prime apparizioni di alberi in CS.
Controlla TAOCP per ulteriori informazioni e più riferimenti.
Isaia: "" E uscirà una verga dallo stelo di Jesse e un Ramo crescerà dalle sue radici "
L'albero come modello di dati per le informazioni genealogiche è davvero molto antico.
Ho trovato questo documento nel (BCS) Computer Journal per il 1960:
PF Windley: alberi, foreste e riordini.
Introduce il concetto di "alberi", "brevemente descritto da Douglas (1959)" [Sandy Douglas] "e attribuito a Berners-Lee" [Conway Berners-Lee, padre di Tim].
È interessante notare che i suoi alberi sono botanicamente più precisi dei moderni alberi CS, in quanto hanno la radice nella parte inferiore piuttosto che nella parte superiore!
Per coincidenza, l'ultima citazione nel documento è di un articolo che Windley è stato coautore di Tony Rowland Jones e "LF Kay", che è un errore di stampa per LR Kay, mio padre, che ha continuato a gestire UCCA, il sistema centrale di ammissioni universitarie nel Regno Unito.
Una lettera di Conway BL al Computer Journal che commenta questo documento e una risposta di Windley, è suddivisa tra le pagine 174 e 184 del seguente numero:
http://comjnl.oxfordjournals.org/content/3/3/174.full.pdf+html http://comjnl.oxfordjournals.org/content/3/3/175.full.pdf+html
Il calcolo del Lambda risale agli anni '30. La sua grammatica è un'applicazione precoce di alberi, in particolare alberi di sintassi astratti. Ogni termine LC è un albero. Le variabili sono i nodi foglia. Sia i termini di astrazione che quelli di applicazione sono costituiti da altri termini, quindi sono nodi non foglia.
Non so quando i termini LC sono stati inizialmente pensati come alberi. Tuttavia, le prime prove che coinvolgono LC richiedevano l'analisi del caso, proprio come fanno i programmatori che scrivono programmi per camminare con AST.