Bilgisayar biliminde “ağaçların” ilk kullanımı nedir?


Yanıtlar:


13

Wikipedia , ağacın matematikte ilk kullanımının 1857'de Cayley tarafından yapıldığını söylüyor.

Bilgisayar bilimindeki kullanım doğrudan matematikten alındığından, oradan ne zaman kaynaklandıklarını sormak daha temel görünmektedir. Bilgisayar bilimcileri başlangıçta ağaçları başka bir şey olarak adlandırmadıkça, "ağaç" kullanan ilk bilgisayar bilimcisi, "ağaç" kullanan ilk Avustralya'dan daha önemli görünmüyor.


Cayley muhtemelen "ağaç" kelimesini icat etti, ancak ağaçlar daha önce kullanılmıştı (örneğin Kirchhoff tarafından). 19. yüzyılda matematikçiler algoritmaları gerçekten önemsemediler (bazı istisnalar). Bu eserlerde ağaçlar kesinlikle bir arama ağacı gibi bir veri yapısı olarak kullanılmadı.
A.Schulz

11

Donald Knuth'un TAOCP'sine göre Vol. 1, s. 459 Aşağıdaki makaleler CS'deki ağaçların ilk görünüşlerinden biri olarak düşünülebilir.

  • HG Kahrimanyan, Sayısal Bilgisayarla Analitik Farklılaşma , Otomatik Programlama Sempozyumu, 6-14, 1952
  • KE Iverson ve LR Johnson, IBM Corp. araştırma raporları RC-390, RC-603 , 1961
  • AJ Perils ve C. Thornton, Dişli ağaçlar , CACM 3, 195-204, 1960

Daha fazla bilgi ve daha fazla referans için TAOCP'a göz atın.


Teşekkürler, bu çok umut verici görünüyor. İkinci referansın bir başlığı var mı? Elimde TAOCP yok, daha sonra kütüphaneye gideceğim.
john_leo

4
Bu, Knuth'un çok gayretli bir referans toplayıcısı olduğu biliniyorsa, gerçekten işe yarayabilecek otorite tarafından bir argüman.
Raphael

INVERSON, KE Ağaçlar için bir programlama notasyonu. Araştırma Raporu R - 390, II3M Araştırma Merkezi (Ocak 1961). Buradan: dl.acm.org/citation.cfm?id=366828 ki bu da iyi bir referans olabilir.
KWillets

@Raphael Kelimenin tam anlamıyla bilgisayar bilimi üzerine kitap yazdı, değil mi ...
corsiKa

6

Yeşaya: "" Ve Jesse'nin kökünden bir çubuk çıkacak ve bir şube köklerinden çıkacak "

Şecere bilgisi için bir veri modeli olarak ağaç gerçekten çok eskidir.


2
"... bilgisayar biliminde ."
Raphael

@ Raphael Fair noktası, tartışmasız bir bilgisayar yapısı olan bir veri yapısı olsa da tartışmasız bir veri yapısı olsa da.
David Richerby

3
Dijkstra'nın bilgisayar biliminin tamamen veri yapıları ve algoritmalarla ilgili olduğunu ve bilgisayarlarla çok az ilgisi olduğunu düşünmeye meyilliyim.
Michael Kay

4

Bu makaleyi (BCS) 1960'taki Bilgisayar Dergisi'nde buldum:

PF Windley: Ağaçlar, ormanlar ve yeniden düzenleme.

Douglas (1959) "[Sandy Douglas]" tarafından kısaca anlatılan ve Berners-Lee'ye [Tim'in babası Conway Berners-Lee] atfedilen "ağaçlar" kavramını tanıttı.

İlginçtir, ağaçları modern CS ağaçlarından botanik olarak daha doğrudur, çünkü kökleri tepeden ziyade alttadır!

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

Tesadüfen, makaledeki son alıntı Windley'nin Tony Rowland Jones ve "LF Kay" ile birlikte yazdığı bir makaleye, bu da merkezi Üniversite Kabul sistemi olan UCCA'yı çalıştırmaya devam eden babam LR Kay için bir baskı. İngiltere'de.

Conway BL'den Bilgisayar Günlüğü'ne bu yazı hakkında yorum yapan bir mektup ve Windley'den yanıt, aşağıdaki sayının 174 ve 184. Sayfaları arasında bölünmüştür:

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


3

Lambda hesabı 1930'lara dayanmaktadır. Gramer, ağaçların, özellikle soyut sözdizimi ağaçlarının erken bir uygulamasıdır. Her LC terimi bir ağaçtır. Değişkenler yaprak düğümleridir. Hem soyutlama hem de uygulama terimleri diğer terimlerden oluşur, bu nedenle yapraksız düğümlerdir.

LC terimlerinin ilk olarak ne zaman ağaç olarak kabul edildiğini bilmiyorum. Bununla birlikte, LC'yi içeren ilk kanıtlar, AST'leri yürümek için program yazan programcıların yaptığı gibi, vaka analizini gerektiriyordu.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.