Tôi có một câu hỏi lịch sử nhỏ, như tiêu đề đã nói, tôi đang tìm kiếm việc sử dụng sớm cây (như cấu trúc dữ liệu, cây tìm kiếm, bất cứ thứ gì) trong khoa học máy tính.
Tôi có một câu hỏi lịch sử nhỏ, như tiêu đề đã nói, tôi đang tìm kiếm việc sử dụng sớm cây (như cấu trúc dữ liệu, cây tìm kiếm, bất cứ thứ gì) trong khoa học máy tính.
Câu trả lời:
Wikipedia nói rằng việc sử dụng cây đầu tiên trong toán học là của Cayley vào năm 1857.
Vì việc sử dụng trong khoa học máy tính được lấy trực tiếp từ toán học, nên có vẻ cơ bản hơn để hỏi khi nào chúng bắt nguồn từ đó. Trừ khi các nhà khoa học máy tính ban đầu gọi cây là một cái gì đó khác, nhà khoa học máy tính đầu tiên sử dụng "cây" dường như không có ý nghĩa gì hơn là, người Úc đầu tiên sử dụng "cây".
Theo TAOCP của Donald Knuth, Tập. 1, pg. 459 các giấy tờ sau đây có thể được coi là một trong những lần xuất hiện đầu tiên của cây trong CS.
Kiểm tra TAOCP để biết thêm thông tin và tham khảo thêm.
Ê-sai: "" Và sẽ xuất hiện một cây gậy ra khỏi thân cây Jesse, và một nhánh sẽ mọc ra từ gốc rễ của anh ta "
Cây như một mô hình dữ liệu cho thông tin phả hệ thực sự rất cổ xưa.
Tôi tìm thấy bài báo này trên Tạp chí Máy tính (BCS) năm 1960:
PF Windley: Cây, rừng và sắp xếp lại.
Ông giới thiệu khái niệm "cây", "được mô tả ngắn gọn bởi Douglas (1959)" [Sandy Douglas] "và được gán cho Berners-Lee" [Conway Berners-Lee, cha của Tim].
Điều thú vị là cây của anh ta chính xác hơn thực vật so với cây CS hiện đại, ở chỗ chúng có gốc ở phía dưới chứ không phải trên đỉnh!
Thật trùng hợp, trích dẫn cuối cùng trong bài báo là một bài báo mà Windley đồng tác giả với Tony Rowland Jones và "LF Kay", đó là một sai lầm của LR Kay, cha tôi, người đã tiếp tục điều hành UCCA, hệ thống tuyển sinh đại học trung ương ở Anh.
Một bức thư của Conway BL gửi cho Tạp chí Máy tính bình luận về bài báo này và một phản hồi từ Windley, được phân chia giữa các trang 174 và 184 của vấn đề sau:
http://comjnl.oxfordjournals.org/content/3/3/174.full.pdf+html http://comjnl.oxfordjournals.org/content/3/3/175.full.pdf+html
Giải tích Lambda có từ những năm 1930. Ngữ pháp của nó là một ứng dụng ban đầu của cây, đặc biệt là cây cú pháp trừu tượng. Mỗi thuật ngữ LC là một cái cây. Các biến là các nút lá. Cả hai thuật ngữ trừu tượng và ứng dụng bao gồm các thuật ngữ khác, vì vậy chúng là các nút không có lá.
Tôi không biết khi nào các thuật ngữ LC lần đầu tiên được coi là cây. Tuy nhiên, các bằng chứng ban đầu liên quan đến LC yêu cầu phân tích trường hợp, giống như những gì các lập trình viên viết chương trình để đi bộ AST làm bây giờ.