У меня есть небольшой исторический вопрос, а именно, как следует из заголовка, я ищу раннее использование деревьев (в качестве структуры данных, дерева поиска и т. Д.) В компьютерной науке.
У меня есть небольшой исторический вопрос, а именно, как следует из заголовка, я ищу раннее использование деревьев (в качестве структуры данных, дерева поиска и т. Д.) В компьютерной науке.
Ответы:
Википедия говорит, что первое использование дерева в математике было Кейли в 1857 году.
Поскольку использование в информатике взято непосредственно из математики, кажется более фундаментальным спрашивать, когда они возникли там. Если компьютерные ученые изначально не называли деревья чем-то другим, первый ученый, который использовал «дерево», не кажется более значимым, чем, скажем, первый австралиец, который использовал «дерево».
Согласно TAOCP Дональда Кнута, Vol. 1, стр. 459 следующие работы могут рассматриваться как одно из первых появлений деревьев в CS.
Проверьте TAOCP для получения дополнительной информации и большего количества ссылок.
Исаия: «" И выйдет жезл из стебля Иессея, и ветвь вырастет из его корней "
Дерево как модель данных для генеалогической информации действительно очень древнее.
Я нашел эту статью в (BCS) Computer Journal за 1960 год:
PF Windley: деревья, леса и перестановка.
Он вводит концепцию «деревьев», «кратко описанную Дугласом (1959 г.)« [Сэнди Дуглас] »и приписываемую Бернерс-Ли» [Конвей Бернерс-Ли, отец Тима].
Интересно, что его деревья ботанически более точны, чем современные CS-деревья, в том смысле, что они имеют корень снизу, а не сверху!
По совпадению, последняя цитата в статье относится к статье, которую Виндли в соавторстве с Тони Роулендом Джонсом и "Л.Ф. Кей", что является опечаткой для Л.Р. Кея, моего отца, который продолжал управлять UCCA, центральной системой приема в университеты. в Соединенном Королевстве.
Письмо Конвея Б.Л. в Компьютерный журнал с комментариями к этому документу и ответ Виндли разбиты на страницы 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 является деревом. Переменные являются листовыми узлами. Термины абстракции и приложения состоят из других терминов, поэтому они являются неконцевыми узлами.
Я не знаю, когда термины LC были впервые восприняты как деревья. Однако ранние доказательства, включающие LC, требовали анализа случаев, во многом как то, что сейчас делают программисты, пишущие программы для обхода AST.