У мене є невелике запитання з історії, а саме, як випливає з назви, я шукаю раннє використання дерев (як структура даних, дерево пошуку, що завгодно) в інформатиці.
У мене є невелике запитання з історії, а саме, як випливає з назви, я шукаю раннє використання дерев (як структура даних, дерево пошуку, що завгодно) в інформатиці.
Відповіді:
У Вікіпедії сказано, що першим використанням дерева в математиці був Кейлі в 1857 році.
Оскільки використання в інформатиці взято безпосередньо з математики, здається, більш важливим є питання, коли вони виникли там. Якщо комп'ютерні спочатку не називали дерева чимось іншим, перший вчений-комп’ютер, який застосував "дерево", не здається більш значущим, ніж, скажімо, перший австралієць, який використовував "дерево".
За даними TAOCP Дональда Кнута, Vol. 1, пг. 459 наступні документи можуть розглядатися як одна з перших появи дерев у КС.
Перегляньте TAOCP для отримання додаткової інформації та додаткових посилань.
Ісая: "" І вийде прут із стебла Єссея, і гілка виросте з його коріння "
Дерево як модель даних для генеалогічної інформації насправді дуже давнє.
Цей документ я знайшов у комп’ютерному журналі (BCS) за 1960 рік:
П. Ф. Віндлі: дерева, ліси та перестановка.
Він вводить поняття "дерева", "коротко описане Дугласом (1959)" [Сенді Дуглас] "і приписується Бернерсу-Лі" [Конвей Бернерс-Лі, батько Тіма].
Цікаво, що його дерева ботанічно точніші за сучасні дерева CS, оскільки вони мають корінь внизу, а не вгорі!
До речі, остання цитата в роботі - це документ, який Віндлі співавтором з Тоні Роуланд Джонсом та "LF Kay", що є помилкою для мого батька Л.Р. у Великобританії.
Лист 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
Обчислення лямбда відноситься до 1930-х років. Його граматика - це раннє застосування дерев, зокрема абстрактних синтаксичних дерев. Кожен термін LC - це дерево. Змінні - це листові вузли. І абстракція, і терміни застосування складаються з інших термінів, тому вони є нелистовими вузлами.
Я не знаю, коли терміни ЖК вперше розглядалися як дерева. Однак ранні докази, що стосуються ЛК, вимагали аналізу випадку, як і те, що зараз роблять програмісти, які пишуть програми для проходження AST.